我正在尝试替换基于另一个现有列的列中的值。你知道吗
这两列是这样的
id_30 DeviceInfoShort
Android SAMSUNG
iOS iOS
None Windows
None None
Mac MacOS
Windows Windows
None None
id\ 30列有图片中未显示的“无”。 我想要的是对于id\u30列中的所有“None”值,它将检查DeviceInfoShort中的值是否为“Windows”,如果是,将id\u30中的“None”替换为“Windows”,否则为“Android”
下面的代码就是我所拥有的。它运行得很好,但运行了10分钟。我想我可以在这里使用map/apply来加快速度…有没有更优雅的方法来使用熊猫呢?你知道吗
%%time
for r in train_all_data.index:
if train_all_data.loc[r, 'id_30'] == 'None':
if train_all_data.loc[r, 'DeviceInfoShort'] == 'Windows':
train_all_data.loc[r, 'id_30'] = 'Windows'
else:
train_all_data.loc[r, 'id_30'] = 'Android'
也许这会更快:
根据我的经验,使用apply()总是比循环使用要快
使用Pandas/Numpy
where
:相关问题 更多 >
编程相关推荐