df = pd.DataFrame({'col':list('aaabbc')})
print (df)
col
0 a
1 a
2 a
3 b
4 b
5 c
print (df['col'].eq('a').mean())
0.5
print (df['col'].value_counts(normalize=True))
a 0.500000
b 0.333333
c 0.166667
Name: col, dtype: float64
编辑:
如果None列中的value_count函数首先删除它:
df = pd.DataFrame({'col':['a','a','a','b','b','c',None]})
print (df)
col
0 a
1 a
2 a
3 b
4 b
5 c
6 None
print (df['col'].eq('a').mean())
0.428571428571
#first drop NaN/Nones and then normalize
print (df['col'].value_counts(normalize=True))
a 0.500000
b 0.333333
c 0.166667
Name: col, dtype: float64
#convert None/None to string for count it
print (df['col'].astype(str).value_counts(normalize=True))
a 0.428571
b 0.285714
None 0.142857
c 0.142857
Name: col, dtype: float64
我相信您需要检查布尔掩码的字符串
a
比较和mean
:对于所有值^{} :
样品:
编辑:
如果
None
列中的value_count
函数首先删除它:相关问题 更多 >
编程相关推荐