【发布时间】:2021-12-24 23:09:55
【问题描述】:
我正在处理这段代码,但出现错误
代码:
for dataset in train_data:
dataset.iloc[dataset['Age'] <= 20, 'Age'] = 1,
dataset.iloc[(dataset['Age'] > 20, 'Age') & (dataset['Age'] <= 40), 'Age'] = 2,
dataset.iloc[dataset['Age'] > 40, 'Age'] = 3
错误: “str”对象没有属性“iloc”
我应该改变什么来解决这个问题? 谢谢。
【问题讨论】:
-
错误提示数据集是一个字符串。仔细检查 dataset 和 train_data 的内容。
-
您能否描述一下您的变量,我的印象是您的 train_data 是一个数据帧列表,但显然不是因为错误清楚地指出 train_data 的元素是字符串。请您仔细检查一下,并根据您的数据类型更新您的问题。
-
什么是
train_data?如果我们不知道,我们无能为力,显然您也不知道(否则您不会收到这样的错误) -
如果
train_data是pandas 数据框,for dataset in train_data将遍历train_data的列名,而不是值,从而给你一个字符串和这个错误。