python - for 循环过早停止而未覆盖参考列表中的所有项目
问题描述
我正在分析一个住房数据集,它具有时间(年份)特征,其对目标变量(SalePrice)的影响是我试图单独可视化的。
我这样做的方法是找到其他年份特征的增量和 YrSold 特征以获得房屋/改造/车库等的“年龄”,最后可视化它们如何影响 SalePrice
问题是,如果没有计算和创建时间特征的各个“年龄”的新列。仅创建一个新特征列,如下所示:
# creating a list of temporal features
temp_feature = [feat for feat in train_df if 'Yr' in feat or 'Year' in feat]
temp_feature
输出:
['YearBuilt', 'YearRemodAdd', 'GarageYrBlt', 'YrSold']
循环:
vizdata = train_df.copy() # separating from main dataset
# looping through all
for x in temp_feature:
if x != 'YrSold':
vizdata[x+'new'] = vizdata['YrSold']-vizdata[x]
当它应该添加 YrBltnew 和 YrRemodAddnew 时,输出 vizdata.head() 仅在末尾显示 GarageYrBltnew,而不显示其他。我猜这个问题与循环如何遍历列表和 if 条件有关。
谢谢
解决方案
这不是一个真正的答案,但不适合评论。您的代码看起来不错,应该可以工作。这对我有用:
temp_feature = ['YearBuilt', 'YearRemodAdd', 'GarageYrBlt', 'YrSold']
vizdata = pd.DataFrame(columns = temp_feature, data = [[1,2,3,4]])
for x in temp_feature:
if x != 'YrSold':
vizdata[x+'new'] = vizdata['YrSold']-vizdata[x]
vizdata
生产
YearBuilt YearRemodAdd GarageYrBlt YrSold YearBuiltnew YearRemodAddnew GarageYrBltnew
0 1 2 3 4 3 2 1
您使用的是哪个版本的熊猫?
推荐阅读
- sql - 如何使用 SQL 连接语句绑定两个表?
- c - CS50 问题集 5 拼写器:Valgrind 问题 - 条件跳转或移动取决于未初始化的值
- maven - 如何在包含子项的同时排除父项依赖
- h2 - postgresql 兼容性中的语法错误 h2 数据库
- php - 承诺被拒绝的原因:调用等待回调没有解决承诺
- ios - 使用对象作为 CoreData 对象字段类型
- javascript - 如何停止在 Javascript(WooCommerce)中的模型弹出窗口中嵌入视频?
- python - “pip --upgrade”如何知道要替换哪些文件以及保留哪些文件?或者它是否删除并重新安装正在升级的整个软件包?
- docker - 为什么我安装 Docker 时没有创建 BRIDGE 网络?
- php - file_get_contents 在我自己的 VPS 服务器上的 Ubuntu 上不起作用