Python – 按组大小对分组的 Pandas 数据框进行排序?
pythonserver side programmingprogramming更新于 2025/10/21 4:28:17
要对 Pandas 数据框进行分组,我们使用 groupby()。要按升序或降序对分组的数据框进行排序,请使用 sort_values()。 size() 方法用于获取数据框大小。
对于升序排序,在 sort_values() 中使用以下内容 −
ascending=True
对于降序排序,在 sort_values() 中使用以下内容 −
ascending=False
首先,创建一个 pandas 数据框 −
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
# dataframe 其中一列为 Reg_Price
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
"Reg_Price": [1000, 1400, 1000, 900, 1700, 900]
}
)
print"DataFrame...\n",dataFrame
# 根据 Reg_Price 列分组并按降序排序
print"按降序排序...\n";
print(dataFrame.groupby('Reg_Price').size().sort_values(ascending=False))
# 根据 Reg_Price 列分组并按升序排序
print"按升序排序...\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
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

