Python Pandas-按元素频率升序排序数据框
要按升序或降序对数据进行排序,请使用sort_values()方法。对于升序排列,请使用以下sort_values()方法−
ascending=True
导入所需库−
import pandas as pd
创建具有3列的DataFrame−
dataFrame = pd.DataFrame(
{
"Car": ['宝马','雷克萨斯','宝马','野马','奔驰','雷克萨斯'],"Reg_Price": [7000, 1500, 5000, 8000, 9000, 2000],"Place": ['浦那','新德里', '孟买', '海德拉巴', '班加罗尔', '昌迪加尔']
}
)
按元素频率升序排列数据框,我们需要计算出现次数。因此,sort_values()设置为升序排列也会与count()一起使用−
dataFrame.groupby(['Car'])['Reg_Price'].count().reset_index(name='Count').sort_values(['Count'], ascending=True)
例子
以下是代码−
import pandas as pd
#创建DataFrame
dataFrame = pd.DataFrame(
{
"Car": ['宝马','雷克萨斯','宝马','野马','奔驰','雷克萨斯'],"Reg_Price": [7000, 1500, 5000, 8000, 9000, 2000],"Place": ['浦那','新德里', '孟买', '海德拉巴', '班加罗尔', '昌迪加尔']
}
)
print"DataFrame ...\n",dataFrame
#按元素频率升序排序数据框
dataFrame = dataFrame.groupby(['Car'])['Reg_Price'].count().reset_index(name='Count').sort_values(['Count'], ascending=True)
print"\n Sorting DataFrame in ascending order ...\n",dataFrame
输出
这将产生以下输出−
DataFrame ...
Car Place Reg_Price
0 宝马 浦那 7000
1 雷克萨斯 新德里 1500
2 宝马 孟买 5000
3 野马 海德拉巴 8000
4 奔驰 班加罗尔 9000
5 雷克萨斯 昌迪加尔 2000
按元素频率升序排序数据框...
Car Count
2 奔驰 1
3 野马 1
0 宝马 2
1 雷克萨斯 2