(pandas)sort_index()与sort_values()的使用

在Series与DataFrame中数据的排序


sort_index()方法在指定轴上根据索引进行排序

sort_index(axis=0, ascending=True, inplace=True)
axis:1轴,0轴(默认)。
ascending:默认True升序,False降序。
inplace:默认为False,删除重复项后返回副本。True,直接在原数据上删除重复项。

# 初始的Series,DataFrame
series = pd.Series(np.arange(4), index=['a','c','d','b'])
df = pd.DataFrame(np.arange(20).reshape(4,5), index=['a','c','d','b'])

a    0
c    1
d    2
b    3

    0   1   2   3   4
a   0   1   2   3   4
c   5   6   7   8   9
d  10  11  12  13  14
b  15  16  17  18  19

series.sort_index(axis=0, ascending=True, inplace=True)
df.sort_index(axis=0, ascending=True, inplace=True)
a    0
b    3
c    1
d    2

    0   1   2   3   4
a   0   1   2   3   4
b  15  16  17  18  19
c   5   6   7   8   9
d  10  11  12  13  14

sort_index())方法在指定轴上根据数据进行排序,(NAN统一排在最后)

sort_values(axis=0, by=[1], ascending=True, inplace=True)
axis:1轴,0轴(默认)。
by:int,str,list等,当axis=0,by=[‘列名’];当axis=1,by=[‘行名’]。
ascending:默认True升序,False降序。
inplace:默认为False,删除重复项后返回副本。True,直接在原数据上删除重复项。

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

b    3
d    2
c    1
a    0

# by根据指定列的值排序
df.sort_values(axis=0, by=[1], ascending=False, inplace=True)

    0   1   2   3   4
b  15  16  17  18  19
d  10  11  12  13  14
c   5   6   7   8   9
a   0   1   2   3   4

# by根据指定行的值排序
df.sort_values(axis=1, by=['a'], ascending=False, inplace=True)

    4   3   2   1   0
a   4   3   2   1   0
c   9   8   7   6   5
d  14  13  12  11  10
b  19  18  17  16  15

猜你喜欢

转载自blog.csdn.net/qq_43965708/article/details/111568011
今日推荐