我是 python 新手。我有一个 .csv 数据集。有一个名为 BasePay 的列。
列中的大多数值都是 int 类型,但有些值是“未提供”。
我正在尝试获取 BasePay 的平均值:
sal['BasePay'].mean()
但它给我的错误是:
TypeError: can only concatenate str (not "int") to 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 - 如果也有字符串值,如何获取列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55256184/