我是python的新手。我有一个.csv数据集。有一个称为BasePay的列。

列中的大多数值是int类型,但某些值是“未提供”。

我试图获得BasePay的平均值为:

sal['BasePay'].mean()


但这给了我以下错误:

TypeError:只能将str(而不是“ int”)连接到str。

我想省略该字符串列。我怎样才能做到这一点?

谢谢。

最佳答案

因为某些非数字值将to_numericerrors='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/

10-11 08:02