首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“数据集总数”:不适用于培训和测试数据集

“数据集总数”:不适用于培训和测试数据集
EN

Stack Overflow用户
提问于 2020-02-17 21:11:36
回答 1查看 22关注 0票数 0

我的for“数据集总计”只适用于我的测试集,而不更改我的火车集上的数据点。有人能帮我解释一下吗?

代码语言:javascript
复制
total=[train,test]
for dataset in total:
    dataset.loc[dataset['Fare'] <= 18, 'Fare'] = 9
    dataset.loc[(dataset['Fare'] > 18) & (dataset['Fare'] <= 37.0042), 'Fare'] = 11
    dataset.loc[(dataset['Fare'] > 37.0042) & (dataset['Fare'] <= 63.3583), 'Fare'] = 22
    dataset.loc[(dataset['Fare'] > 63.3583) & (dataset['Fare'] <= 93.5), 'Fare'] = 33
    dataset.loc[(dataset['Fare'] > 93.5) & (dataset['Fare'] <= 120), 'Fare'] = 44
    dataset.loc[(dataset['Fare'] > 120) & (dataset['Fare'] <= 164.8667), 'Fare'] = 55
    dataset.loc[(dataset['Fare'] > 164.8667) & (dataset['Fare'] <= 263), 'Fare'] = 66
    dataset.loc[dataset['Fare'] > 263, 'Fare'] =77
total=[train,test]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-17 21:21:50

熊猫的数据是可变的。从这里阅读以下内容

所有熊猫数据结构都是值可变的(它们包含的值可以改变),但并不总是大小可变的。无法更改Series的长度,但可以将列插入到DataFrame中。然而,绝大多数方法都会产生新的对象,并将输入数据保持不变。一般来说,我们喜欢在明智的地方坚持不变。

您可以按以下方式更改代码:

代码语言:javascript
复制
total=[train,test]
for i in range(2):
    total[i].loc[dataset['Fare'] <= 18, 'Fare'] = 9
    total[i].loc[(dataset['Fare'] > 18) & (dataset['Fare'] <= 37.0042), 'Fare'] = 11
    total[i].loc[(dataset['Fare'] > 37.0042) & (dataset['Fare'] <= 63.3583), 'Fare'] = 22
    total[i].loc[(dataset['Fare'] > 63.3583) & (dataset['Fare'] <= 93.5), 'Fare'] = 33
    total[i].loc[(dataset['Fare'] > 93.5) & (dataset['Fare'] <= 120), 'Fare'] = 44
    total[i].loc[(dataset['Fare'] > 120) & (dataset['Fare'] <= 164.8667), 'Fare'] = 55
    total[i].loc[(dataset['Fare'] > 164.8667) & (dataset['Fare'] <= 263), 'Fare'] = 66
    total[i].loc[dataset['Fare'] > 263, 'Fare'] =77
# no need for this statement! total=[train,test]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60270446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档