pandas常用操作详解——排序函数sort_values()和sort_index()

 

sort_values(by=None)函数介绍:

 

功能:以dataframe中的数据值为依据进行排序

参数解释:by为一个列表,列表中的元素为排序所参考列的列名;当列表中有多个元素时,dataframe按照元素顺序依次进行排序

 

举例说明:

 

import pandas as pd
import numpy as np

#构建数据
boolean=[True,False]
gender=["",""]
color=["white","black","yellow"]
df1=pd.DataFrame({
    "height":np.random.randint(150,190,100),
    "weight":np.random.randint(40,90,100),
    "smoker":[boolean[x] for x in np.random.randint(0,2,100)],
    "gender":[gender[x] for x in np.random.randint(0,2,100)],
    "age":np.random.randint(15,90,100),
    "color":[color[x] for x in np.random.randint(0,len(color),100) ]
}
)

 

 

#根据每人的身高进行排序
df1.sort_values(by=['height'])

 

#先以身高排序,身高相同按年龄由低到高排序
df1.sort_values(by=['height','age'])

 

 

 

 

sort_values()函数介绍:

 

功能:以dataframe中的索引为依据进行排序,通过传递axis参数和排序顺序,可以对dataframe进行排序。

参数解释: 

axis:默认情况下,axis=0,按照行标签进行排序;axis=1为按照列标签排序;

ascending:布尔值。默认为True,此时为升序;ascending=False时,降序排列。

 

举例说明:

#构建新数据集
unsorted_df = pd.DataFrame(np.random.randn(10,2),index=[1,4,6,2,3,5,9,8,0,7],columns = ['col2','col1'])

 

#按照行标签进行排序
unsorted_df.sort_index()
unsorted_df.sort_index(axis=0)

 

#按照行标签降序排序
unsorted_df.sort_index(ascending=False)

 

#按照列标签进行排序
unsorted_df.sort_index(axis=1)

 

posted @ 2021-03-29 11:20  MMMMiles  阅读(2881)  评论(0编辑  收藏  举报