以下for循环迭代两个数据帧不起作用:
for frame in [df_train, df_test]:
frame = frame.drop('Embarked', axis=1)
我没有收到错误消息,但两个数据框中的“已启用”列未被删除。为什么呢?
答案 0 :(得分:4)
来自help(frame.drop)
:
def drop(self, labels, axis=0, level=None, inplace=False, **kwargs):
"""
Return new object with labels in requested axis removed
...
inplace : bool, default False
If True, do operation inplace and return None.
现在,您只需创建新对象并将其命名为frame
,这不会影响列表中的任何内容。您可以使用inplace=True
来影响原始对象:
for frame in [df_train, df_test]:
frame.drop('Embarked', axis=1, inplace=True)