我是python的新手。我有一个.csv数据集。有一个称为BasePay的列。
列中的大多数值是int类型,但某些值是“未提供”。
我试图获得BasePay的平均值为:
sal['BasePay'].mean()
但这给了我以下错误:
TypeError:只能将str(而不是“ int”)连接到str。
我想省略该字符串列。我怎样才能做到这一点?
谢谢。
最佳答案
因为某些非数字值将to_numeric
与errors='coerce'
一起使用将它们转换为NaN
,所以mean
可以很好地工作:
out = pd.to_numeric(sal['BasePay'], errors='coerce').mean()
样品:
sal = pd.DataFrame({'BasePay':[1, 'Not Provided', 2, 3, 'Not Provided']})
print (sal)
BasePay
0 1
1 Not Provided
2 2
3 3
4 Not Provided
print (pd.to_numeric(sal['BasePay'], errors='coerce'))
0 1.0
1 NaN
2 2.0
3 3.0
4 NaN
Name: BasePay, dtype: float64
out = pd.to_numeric(sal['BasePay'], errors='coerce').mean()
print (out)
2.0
关于python - Python-如果也有字符串值,如何获取列的均值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55256184/