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

# dataframe with one of the columns as Reg_Price

dataFrame = pd.DataFrame(

   {

      "Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],

      "Reg_Price": [1000, 1400, 1000, 900, 1700, 900]

   }

)

print"DataFrame...\n",dataFrame

# group according to Reg_Price column and sort in descending order

print"Sorted in Descending order...\n";

print(dataFrame.groupby('Reg_Price').size().sort_values(ascending=False))

# group according to Reg_Price column and sort in ascending order

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

以上是 Python – 按组大小对分组的 Pandas 数据框进行排序? 的全部内容, 来源链接: utcz.com/z/357080.html

回到顶部