笔记
函数语法:
sort_values(by,axis=0,ascending=True,inplace=False,kind='quicksort',na_position='last',ignore_index=False,key: ValueKeyFunc'= None)
参数说明:
by:要排序的名称列表
axis:轴,0代表行,1代表列,默认是0
ascending: 升序或者降序,布尔值,指定多个排序就可以使用布尔值列表,默认是True
inplace: 布尔值,默认是False,如果值为True,则就地排序
kind: 指定排序算法,值为quicksort(快速排序)、mergesort(混合排序)或heapsort(堆排),默认值为quicksort
na_position: 空值(NaN)的位置,值为first空值在数据开头,值为last空值在数据最后,默认为last
ignore_index: 布尔值,是否忽略索引,值为True标记索引(从0开始按顺序的整数值),值为False则忽略索引
[例]
根据给定DataFrame按照索引名列名和数据进行排序
关键技术:sort values()方法可以根据指定行/列进行排序。
1.按照索引名排序。注意sort_index()方法的axis参数默认为0
2.按照column列名排序
3.axis表示按照行或者列,asceding表=True升序,False为降序,by表示排序的列名
4.按照数据进行排序,首先按照D列进行升序排列
5.按照数据进行排序,首先按照C列进行降序排序,在C列相同的情况下,按照B列进行升序排序
import pandas as pd
data_list=[[1,2,3],[1,5,4],[3,7,9],[6,8,5]]
df=pd.DataFrame(data_list,columns=['c','B','D'])
df.index=['x','z','y','y']
print(df)
print()
#1.
df_sort_axis0 = df.sort_index()
print('1.data after sort index')
print(df_sort_axis0)
print()
#2.
df_sort_axisl = df.sort_index(axis=1)
print('2.data after sort_index(axis = 1) :')
print(df_sort_axisl)
print()
#3.
df_sort_axisl_descend = df.sort_index(axis=1,ascending=False)
print('3.data after sort_index(axis = 1,ascending=False):')
print(df_sort_axisl_descend)
print()
#4.
df_data_order0 = df.sort_values(by=['D'],ascending=[True])
print('4.data after sort values sorted by D:')
print(df_data_order0)
print()
#5.
df_data_orderl = df.sort_values(by=['c','B'],ascending=[False,True])
print('5.data after sort values:')
print(df_data_orderl)