我正在运行以下代码,以获取列Type
的总计数,以及列Complexity中字符串Simple
的计数,并了解CSV中Simple值的百分比。
我正在使用以下内容,并且值是正确的。但其返回如下-
"Type 11.358464
dtype: float64"
我只需要号码11.358464
,请帮忙。
import pandas as pd
sdcount = pd.read_csv('cvs1.csv', usecols=['Type']).count()
print(sdcount)
df = pd.read_csv ("csv1.csv")
simpcount = df.Complexity.value_counts().Simple
print(simpcount)
simpcountpercent = (simpcount/sdcount)*100
print(simpcountpercent)
将Series.value_counts
与normalize=True
:一起使用
df = pd.DataFrame({'Complexity': ['Simple', 'Simple', 'Simple', 'dd', 'ss', 'aa']})
print (df)
Complexity
0 Simple
1 Simple
2 Simple
3 dd
4 ss
5 aa
s = df['Complexity'].value_counts(normalize=True)
print (s)
Simple 0.500000
ss 0.166667
dd 0.166667
aa 0.166667
Name: Complexity, dtype: float64
然后按标量的索引选择:
print (s['Simple'])
0.5
编辑:
在你的代码是问题与:
sdcount = pd.read_csv('cvs1.csv', usecols=['Type']).count()
输出是一个元素Series,而不是标量。
用于标量:
sdcount = pd.read_csv('cvs1.csv', usecols=['Type'])['Type'].count()