[英]Pandas Frequency of Column Values
我正在熊貓中做一些工作,並且試圖從數據集中找到某些值。 我正在尋找特定列的模式和模式頻率。
我已經使用df.col1.mode()
獲得了模式,它可以正常工作並返回模式(例如Male)。 現在,我很難在列中獲取此值的頻率。 我知道我可以使用df.col1.value_counts()
獲取列中所有值的頻率
我嘗試使用df.col1.value_counts()['Male']
嘗試獲取這種情況的發生次數,但出現錯誤,提示KeyError: 'Male'
這是找到某個值出現在列中的次數的正確方法嗎?
print df
A B C
0 1 2 3
1 4 5 6
2 7 8 9
df.groupby('A').size()/df['A'].count()
A
1 0.333333
4 0.333333
7 0.333333
dtype: float64
您將遇到的一個問題是在模式下有多個項目,因此您沒有一對一的映射。 作為一種解決方法,您可以使用字典理解來獲取每個模式。
df = pd.DataFrame({'gender': ['Male', 'Male', 'Female', 'Female', 'Shemale'],
'State': ['CA', 'OR', 'AZ', 'CA', 'NY']})
modes = df.gender.mode()
>>> {item: len(df.gender[df.gender.isin(modes[modes == item])]) for item in modes}
{'Female': 2, 'Male': 2}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.