按元素频率将Python Pandas中的DataFrame按降序排序

按元素频率将Python Pandas中的DataFrame按降序排序

若要按升序或降序排序数据,请使用sort_values()方法,要按降序排序,请在sort_values()方法中使用以下内容-

ascending=False

导入必要的库-

import pandas as pd

创建一个有3列的DataFrame −

dataFrame = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'BMW', 'Mustang', 'Mercedes', 'Lexus'],"Reg_Price": [7000, 1500, 5000, 8000, 9000, 2000],"Place": ['Pune', 'Delhi', 'Mumbai', 'Hyderabad', 'Bangalore', 'Chandigarh']
   }
)

要按元素频率将DataFrame按降序排序,需要计算出现次数。因此,使用sort_values()设置降序排序的同时也要使用count()−

dataFrame.groupby(['Car'])['Reg_Price'].count().reset_index(name='Count').sort_values(['Count'], ascending=False)

示例

以下是代码 −

import pandas as pd

# 创建DataFrame
dataFrame = pd.DataFrame(
   {
      "Car":["BMW", "Lexus", "BMW", "Mustang", "Mercedes", "Lexus"],"Reg_Price":[7000,1500,5000,8000,9000,2000],"Place":["Pune", "Delhi", "Mumbai", "Hyderabad", "Bangalore", "Chandigarh"]
   }
)

print "DataFrame...\n",dataFrame

# 按元素频率将DataFrame按降序排序
dataFrame = dataFrame.groupby(['Car'])['Reg_Price'].count().reset_index(name='Count').sort_values(['Count'], ascending=False)

print "\nSorting DataFrame...\n",dataFrame

输出

这将产生以下输出 −

DataFrame...
         Car     Place   Reg_Price
0       BMW       Pune        7000
1     Lexus      Delhi        1500
2       BMW     Mumbai        5000
3   Mustang  Hyderabad        8000
4  Mercedes  Bangalore        9000
5     Lexus Chandigarh        2000

Sorting DataFrame...
        Car   Count
0       BMW       2
1     Lexus       2
2  Mercedes       1
3   Mustang       1

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程