我有一個數據幀,我用兩個密鑰df.groupby(['key1',key2'])
對它進行分組。對於每個key2條目,我如何顯示key1值的百分比?python pandas groupby:密鑰1的key2值的百分比
0
A
回答
3
呼叫GROUPBY兩次 「K1」 和( 「K1」, 「K2」),然後執行div
:
import pandas as pd
k1 = ["a", "a", "a", "a", "b", "b", "b"]
k2 = ["x", "x", "y", "y", "x", "y", "y"]
df = pd.DataFrame({"k1":k1, "k2":k2})
df.groupby(["k1", "k2"]).k2.count().div(
df.groupby("k1").k1.count().astype(float), level=0)
輸出:
k1 k2
a x 0.500000
y 0.500000
b x 0.333333
y 0.666667
6
下面是一個使用一個GROUPBY的替代方法聲明。
按k1分組,選擇列k2並應用lambda函數。拉姆達獲取頻率計數K2 的每個級別 K1內,然後我們通過K1的計分:
In [1]: df.groupby('k1')['k2'].apply(lambda x: pd.value_counts(x)/x.count().astype(float))
Out[1]:
k1
a x 0.500000
y 0.500000
b y 0.666667
x 0.333333
性能:
HYRY的方法:
100 loops, best of 3: 3.07 ms per loop
我的方法:
1000 loops, best of 3: 1.98 ms per loop
相關問題
- 1. pandas groupby:如何計算總數的百分比?
- 2. 如何獲得一個列在Pandas groupby計數的百分比
- 3. 熊貓GROUPBY:百分比高於閾值
- 4. Python的大熊貓 - 轉換列百分比上GROUPBY DF
- 5. Spark:列值的百分比百分比
- 6. python的百分比
- 7. Python - Pandas - Groupby條件組中的列值
- 8. pandas python中的groupby對象
- 9. Python Pandas groupby語法
- 10. Python Pandas GroupBy%計算
- 11. 從Pandas中的GroupBy對象獲取所有密鑰
- 12. Python的按百分比
- 13. Pandas Iterrows行號和百分比
- 14. groupby object pandas的絕對值的均值
- 15. archartengine:Y值的百分比
- 16. 百分比值的輸入
- 17. python pandas groupby計算變化
- 18. Highcharts百分比值
- 19. 如何使用Pandas python中的分組列來計算百分比?
- 20. Firebase漏斗事件1的百分比高於事件2的百分比
- 21. 按價值或價值百分比計算百分比
- 22. GroupBy基於密鑰字典
- 23. 第一次約會的python pandas groupby
- 24. Python pandas groupby pandas.hashtable.PyObjectHashTable.get_item中的關鍵錯誤
- 25. 從groupby pandas的字符串的concat部分python
- 26. Python百分比計算器
- 27. 音程的百分比值等值?
- 28. 包含key1的,不包含密鑰key2獲取行
- 29. Python中timedelta對象的百分比?
- 30. Python的熊貓百分比計算
謝謝,這就是我一直在尋找的東西。 – gus
嗨@gus,如果這是你正在尋找的答案,這將有助於接受它。 – Will