Python ŌĆō 如何按组大小对 Pandas dataframe 进行排序?

Python ŌĆō 如何按组大小对 Pandas dataframe 进行排序?

要对 Pandas dataframe 进行分组,我们使用 groupby()。要按升序或降序排序分组的 dataframe,请使用 sort_values()。使用 size() 方法可获取 dataframe 的大小。

要进行升序排序,请在 sort_values() 中使用以下内容 –

ascending=True

要进行降序排序,请在 sort_values() 中使用以下内容 –

ascending=False

首先,创建一个 pandas dataframe

dataFrame = pd.DataFrame(
   {
      "Car": ['宝马', '雷克萨斯', '奥迪', '奔驰', '捷豹', '宾利'],
      "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": ['宝马', '雷克萨斯', '奥迪', '奔驰', '捷豹', '宾利'],
      "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      宝马       1000
1   雷克萨斯       1400
2      奥迪       1000
3      奔驰        900
4      捷豹       1700
5      宾利        900
按降序排序...

Reg_Price
1000    2
900     2
1700    1
1400    1
dtype: int64
按升序排序...

Reg_Price
1400    1
1700    1
900     2
1000    2
dtype: int64

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程