当前位置:   article > 正文

pandas对数据进行排序+基本统计方法_pandas从大到小排列

pandas从大到小排列

目录

一、按索引排序

二、按值排序

三、排序与排名

四、基本统计方法

 1.基础方法

2.分位数 

3.平方绝对误差+方差+标准差+累加和

 五、处理缺失值

六、补全缺失值


一、按索引排序

这里我们发现我们原来的数据中,我们的年份索引是从大到小排序的,使用了我们的sort_index之后,我们的索引变成了从小到大排序

  1. data=pd.read_csv('gdp1.csv',index_col=['年份'])
  2. print(data)
  3. data1=data.sort_index()
  4. print(data1)

这时,我们再观察,当我们给我们的sort_index中设置了参数ascending,并且将值设置为False的时候,我们的索引又重新便回了从大到小

这说明:我们的ascending的参数默认是True,也就是升序排列,当被设置为false的时候,会变成降序排列

  1. data=pd.read_csv('gdp1.csv',index_col=['年份'])
  2. print(data)
  3. data1=data.sort_index(ascending=False)
  4. print(data1)

 

这里我们还可以指定我们的axis的具体参数,axis不设置的时候,我们默认是对行索引进行排序,也就是我们上述中的年份的那一列中的数据。

当我们将我们axis设置为1的时候,我们便可以对我们的列索引进行排序

  1. data=pd.read_csv('gdp1.csv',index_col=['年份'])
  2. print(data)
  3. data1=data.sort_index(ascending=False,axis=1)
  4. print(data1)

 

 在执行了上述的代码之后,我们发现我们每一列中的数据都是从大到小排列的。

二、按值排序

在下面的代码中,我们指定我们的深圳为索引,可以看到我们深圳这一列的数据变成了从小到大排序,并且其他的上海,北京等列中的数据全部都一同发生了变化。

  1. data=pd.read_csv('gdp1.csv',index_col=['年份'])
  2. print(data)
  3. data1=data.sort_values('深圳')
  4. print(data1)

 当然我们也可以让我们一行中的元素进行排序,在下面的代码中1,我们将2015所对应的这一行中的数据进行排序,我们发现我们其他行的数据也同时发生了变化。

  1. data=pd.read_csv('gdp1.csv',index_col=['年份'])
  2. print(data)
  3. data1=data.sort_values(2015,ascending=True,axis=1)
  4. print(data1)

三、排序与排名

 在下面的 代码中,我们使用了rank函数,我们发现我们原来的数据表中按照每一列排序,其中排序的编号越大,就代表其原本的数据值越大。也就是说我们默认的排序时从小到大进行排名的。

  1. data=pd.read_csv('gdp1.csv',index_col=['年份'])
  2. print(data)
  3. data1=data.rank()
  4. print(data1)

同样,在我们的rank函数中,也可以指定我们的参数,这里我们设置了对每一行中的数据进行排序,并且设置我们的呢数据为从大到小进行排名操作。 

  1. data=pd.read_csv('gdp1.csv',index_col=['年份'])
  2. print(data)
  3. data1=data.rank(ascending=False,axis=1)
  4. print(data1)

 

四、基本统计方法

 1.基础方法

df.sum()求数据的总和
df.mean()求数据的平均值
df.median()求数据的中位数
df.count()求数据的个数
df.idxmax()返回数据中最大值所对应的索引
df.idxmin()返回数据中最小值所对应的索引
df.describle()返回当前列表的简介
  1. data=pd.read_csv('gdp1.csv',index_col=['年份'])
  2. print(data)
  3. print(data.sum())
  4. print(data.mean())
  5. print(data.median())
  6. print(data.count())
  7. print(data.idxmax())
  8. print(data.idxmin())
  9. print(data.describe())

2.分位数 

在下面的代码中,我们查看每一列的零点五分位数

  1. data=pd.read_csv('gdp1.csv',index_col=['年份'])
  2. print(data)
  3. print(data.quantile(0.5))

3.平方绝对误差+方差+标准差+累加和

mad()平均绝对误差
var()方差
std()标准差
cumsum()累加和

 

  1. data=pd.read_csv('gdp1.csv',index_col=['年份'])
  2. print(data)
  3. print(data.mad())
  4. print(data.var())
  5. print(data.std())
  6. print(data.cumsum())

 五、处理缺失值

使用我们的drop可以删除掉我们有空值的行或列

如果不指定的话,默认删除所有有空值的行

  1. data=pd.read_csv('city.csv')
  2. print(data)
  3. print(data.dropna())

 指定axis=1,即为删除我们所有有空值的行

  1. data=pd.read_csv('city.csv')
  2. print(data)
  3. print(data.dropna(axis=1))

这里我们将我们表格中的某些元素置为空值之后再来进行我们下一项筛选操作

这里我们可以看到我们北京这一行的空值有三个,这时候,我们在dropna的时候,将我们的thresh参数设置为4来表示我们每行的有效元素如果小于四个就会被删除。当然,我们也可以指定axis,来让我们的帅选变成列。 

  1. data=pd.read_csv('city.csv',na_values=[28014.94,25669.13,23014.59])
  2. print(data)
  3. print(data.dropna(thresh=4))

六、补全缺失值

使用fillna可以填充我们的空值。

  1. data=pd.read_csv('city.csv')
  2. print(data)
  3. print(data.fillna(18000))

 

 当然我们也可以使用字典的形式填充,但是字典只能对列中的每一个元素进行填充

  1. data=pd.read_csv('city.csv')
  2. print(data)
  3. data1=data.fillna({"2018年":19000})
  4. print(data1)

使用列的均值进行填充

  1. data=pd.read_csv('city.csv')
  2. print(data)
  3. data1=data.fillna(data.mean())
  4. print(data1)

ffill与前值相同
bfill与后置相同

limit参数表示同一个值使用的次数 ,在下面的代码中,我们使用我们的前值填充,并且限制次数为1,我们看到石家庄的数据有了,但是后面的数据由于次数的限制,依旧为nan。

  1. data=pd.read_csv('city.csv')
  2. print(data)
  3. data1=data.fillna(method='ffill',limit=1)
  4. print(data1)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/161999
推荐阅读
相关标签
  

闽ICP备14008679号