1
我在一個數據幀有一列排序的列值的頻率 - 熊貓
水果
蘋果
芒果
香蕉
蘋果
芒果
香蕉
蘋果
芒果
葡萄
我想排序在它出現的值的頻率此列,所以,現在的數據幀應該是:
水果
蘋果
蘋果
蘋果
香蕉
香蕉
香蕉
芒果
芒果
葡萄
謝謝!
我在一個數據幀有一列排序的列值的頻率 - 熊貓
水果
蘋果
芒果
香蕉
蘋果
芒果
香蕉
蘋果
芒果
葡萄
我想排序在它出現的值的頻率此列,所以,現在的數據幀應該是:
水果
蘋果
蘋果
蘋果
香蕉
香蕉
香蕉
芒果
芒果
葡萄
謝謝!
創建一個頻率列,然後按頻率和水果名稱進行排序。
df.assign(freq=df.apply(lambda x: df.Fruits.value_counts()\
.to_dict()[x.Fruits], axis=1))\
.sort_values(by=['freq','Fruits'],ascending=[False,True]).loc[:,['Fruits']]
Out[593]:
Fruits
0 Apple
3 Apple
6 Apple
1 Mango
4 Mango
7 Mango
2 Banana
5 Banana
8 Grapes
通過使用GROUPBY和類似的方法計算:
df.assign(freq=df.groupby('Fruits')['Fruits'].transform('count'))\
.sort_values(by=['freq','Fruits'],ascending=[False,True]).loc[:,['Fruits']]
https://stackoverflow.com/questions/22391433/count-the-frequency-that-a-value-occurs-in-一個非數據幀列 –