熊猫得到的百分比值刚好是数字



我正在运行以下代码,以获取列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_countsnormalize=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()

最新更新