包含不同的数据类型
问题描述:
我有一个数据帧(DF)2列(ID和速率),它看起来像和数据框柱:包含不同的数据类型
id rate
0 #NAME?
1 #NAME?
2 #NAME?
3 #NAME?
4 #NAME?
5 #NAME?
6 #NAME?
7 #NAME?
8 #NAME?
9 0.5
10 #NAME?
: :
211 0.25
212 0.00
213 #NAME?
214 1.00
215 #NAME?
正如你可以看到rate
列有不止一个键入和我试图总结非#NAME?费率列中的条目。我曾尝试:
df = pd.read_csv(full_path, header=0, usecols=[0,8], dayfirst=True,index_col=[0], names=['id', 'rate'])
print(df)
sumRate = sumRate + df['rate'].sum()
,但我得到返回以下异常:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
我不确定如何总结浮动值只可惜的数据格式,我拉入数据 - 框架不在我的控制之下。如果任何人可以帮助它将不胜感激。
感谢
答
我认为你需要to_numeric
与error='coerce'
参数转换不是数字来NaN
,然后再和:
print (pd.to_numeric(df['rate'], errors='coerce'))
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
9 0.50
10 NaN
11 NaN
12 0.25
13 0.00
14 NaN
15 1.00
16 NaN
Name: rate, dtype: float64
sumRate = pd.to_numeric(df['rate'], errors='coerce').sum()
print (sumRate)
1.75