Python – 按组大小对分组的 Pandas 数据框进行排序?
为了对Pandas数据框进行分组,我们使用groupby().要按升序或降序对分组数据框进行排序,请使用sort_values().该size()方法用于获取数据帧大小。
对于升序排序,请使用以下内容sort_values()-
ascending=True
对于降序排序,请使用以下内容sort_values()-
ascending=False
首先,创建一个熊猫数据框-
dataFrame = pd.DataFrame( { "Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'], "Reg_Price": [1000, 1400, 1000, 900, 1700, 900] } )
接下来,根据Reg_Price列分组并按降序排序-
dataFrame.groupby('Reg_Price').size().sort_values(ascending=False)
接下来,根据Reg_Price列分组并按升序排序-
dataFrame.groupby('Reg_Price').size().sort_values(ascending=True)
示例
以下是代码-
import pandas as pd #dataframewithoneofthecolumnsasReg_Price dataFrame = pd.DataFrame( { "Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'], "Reg_Price": [1000, 1400, 1000, 900, 1700, 900] } ) print"DataFrame...\n",dataFrame #groupaccordingtoReg_Pricecolumnandsortindescendingorder print"Sorted in Descending order...\n"; print(dataFrame.groupby('Reg_Price').size().sort_values(ascending=False)) #groupaccordingtoReg_Pricecolumnandsortinascendingorder print"Sorted in Ascending order...\n"; print(dataFrame.groupby('Reg_Price').size().sort_values(ascending=True))输出结果
这将产生以下输出-
DataFrame... Car Reg_Price 0 BMW 1000 1 Lexus 1400 2 Audi 1000 3 Mercedes 900 4 Jaguar 1700 5 Bentley 900 Sorted in Descending order... Reg_Price 1000 2 900 2 1700 1 1400 1 dtype: int64 Sorted in Ascending order... Reg_Price 1400 1 1700 1 900 2 1000 2 dtype: int64