我该如何对熊猫中的特定栏进行指算?

时间:2019-07-16 20:18:43

标签: python pandas mean

我正在尝试计算数据框中特定列的均值。列的名称在列表中。

for col in ValIndex: #ValIndex has the columns name
    dataSet[col] = dataSet[col].fillna(dataSet[col].mean())

运行代码时出现此错误:

can only concatenate str (not "int") to str

1 个答案:

答案 0 :(得分:0)

从错误中可以明显看出,您要插入的列的类型为object(str)。您需要首先将它们转换/转换为数字,以便能够计算该列(系列)的均值。

有两种方法可以根据列中的值将列转换为浮点数(或int类型):

1)如果列中肯定包含所有数字,则可以将它们转换为浮点类型,如下所示:

data[col] = data[col].astype(float)
dataSet[col] = dataSet[col].fillna(dataSet[col].mean())

OR

2)如果您的列值既可以是数字,也可以是非数字,则将它们转换为数字,如下所示:

data[col] = pd.to_numeric(data[col],errors='coerce')
dataSet[col] = dataSet[col].fillna(dataSet[col].mean())

转换后,您应该能够计算均值并推算级数。