首页 > 解决方案 > 我如何将意思归入熊猫中的特定列?

问题描述

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

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

标签: pythonpandasmean

解决方案


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

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

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

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

或者

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

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

转换后,您应该能够计算平均值并估算系列。


推荐阅读