Press "Enter" to skip to content

pandas数据排序

Series的排序:

Series.sort_values(ascending=True,inplace=False)

参数说明:

  • ascending:默认True为升序排序,为False降序排序
  • inplace:是否修改原始Series

DateFrame的排序:

DateFrame.sort_values(by,ascending=True,inplace=False)

参数说明:

  • by:字符串或者List<字符串>,单列排序或者多列排序
  • ascending:bool或者List,升序还是降序,如果是List对应by的多列
  • inplace:是否修改原始DateFrame

案例:

首先打开一份数据

1、 Series的排序

import pandas as pd

pd.set_option('display.unicode.ambiguous_as_wide', True)  #处理数据的列标题与数据无法对齐的情况
pd.set_option('display.unicode.east_asian_width', True)   #无法对齐主要是因为列标题是中文

df=pd.read_csv(r'data\sh600000.csv',encoding='gbk')
add=df['最高价'].sort_values() #默认是升序
print(add)

如果需要降序排列,增加一个ascending=False即可

df=pd.read_csv(r'data\sh600000.csv',encoding='gbk')
add=df['最高价'].sort_values(ascending=False) 
print(add)

2、DateFrame的排序

2-1:使用 DateFrame单列排序

import pandas as pd

pd.set_option('display.unicode.ambiguous_as_wide', True)  #处理数据的列标题与数据无法对齐的情况
pd.set_option('display.unicode.east_asian_width', True)   #无法对齐主要是因为列标题是中文

df=pd.read_csv(r'data\sh600000.csv',encoding='gbk')
add=df.sort_values(by='最高价') #默认是升序
print(add)

以上图片的结果它不仅仅对最高价的列进行排序,它还对所有的行进行了排序

当然也可以对最高价进行降序排序

df=pd.read_csv(r'data\sh600000.csv',encoding='gbk')
add=df.sort_values(by='最高价',ascending=False)
print(add)

2-2: 使用 DateFrame 多列排序

#按最高价、收盘价排序,默认升序
add=df.sort_values(by=['最高价','成交量'])
print(add)
#按最高价、收盘价排序,2个字段都是降序
add=df.sort_values(by=['最高价','成交量'],ascending=False)
print(add)
#分别指定升序和降序
add=df.sort_values(by=['最高价','收盘价'],ascending=[True,False])
print(add)
发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注