簡體   English   中英

列值的熊貓頻率

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM