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