Python 在帧上迭代以删除列
以下for循环在两个数据帧上迭代无效:Python 在帧上迭代以删除列,python,pandas,Python,Pandas,以下for循环在两个数据帧上迭代无效: for frame in [df_train, df_test]: frame = frame.drop('Embarked', axis=1) 我没有收到错误消息,但两个数据帧中没有删除列“已装载”。为什么?来自帮助(frame.drop): 现在,您只需创建新对象并将其命名为frame,这不会影响列表中的任何内容。您可以使用inplace=True来影响原始对象: for frame in [df_train, df_test]: f
for frame in [df_train, df_test]:
frame = frame.drop('Embarked', axis=1)
我没有收到错误消息,但两个数据帧中没有删除列“已装载”。为什么?来自帮助(frame.drop)
:
现在,您只需创建新对象并将其命名为frame
,这不会影响列表中的任何内容。您可以使用inplace=True
来影响原始对象:
for frame in [df_train, df_test]:
frame.drop('Embarked', axis=1, inplace=True)
从帮助(frame.drop)
:
现在,您只需创建新对象并将其命名为frame
,这不会影响列表中的任何内容。您可以使用inplace=True
来影响原始对象:
for frame in [df_train, df_test]:
frame.drop('Embarked', axis=1, inplace=True)
我有pandas 0.12.0,其中drop()显然没有内置选项。我更新到了0.13.0,现在可以正常工作。如果我有几个数据帧,并且我希望对每个数据帧应用相同的操作集,而这些操作不支持
inplace=True
?有没有办法更改for循环中的原始数据帧?例如,与迭代两个帧并更改For-loop中数据帧的内容相比,df_train[df_train>1]=1
和df_test[df_test>1]=1
通常不同的问题应作为新问题打开。使其他人更容易找到问题,无论是想要帮助的人还是有相同问题的其他人。抱歉,现在被问到了。我有pandas 0.12.0,其中drop()显然没有内置选项。我更新到了0.13.0,现在可以正常工作。如果我有几个数据帧,并且我希望对每个数据帧应用相同的操作集,而这些操作不支持inplace=True
?有没有办法更改for循环中的原始数据帧?例如,与迭代两个帧并更改For-loop中数据帧的内容相比,df_train[df_train>1]=1
和df_test[df_test>1]=1
通常不同的问题应作为新问题打开。使其他人更容易找到问题,无论是想要帮助的人还是有相同问题的人。对不起,现在被问到了。