Python 在DataFrame中删除列,然后写入输出

Python 在DataFrame中删除列,然后写入输出,python,pandas,Python,Pandas,尝试使用pandas在数据帧中删除列。这个代码不起作用,我真的不知道为什么。它既简单又快捷。我错过了什么 import pandas df = pandas.read_csv('data.csv') for col in df.columns.values: if input('Delete ' + col + '? yes/no') == 'yes': df.drop([col], axis=1) df.to_csv('out.csv') 像这样工作。多亏了@ju

尝试使用pandas在数据帧中删除列。这个代码不起作用,我真的不知道为什么。它既简单又快捷。我错过了什么

import pandas

df = pandas.read_csv('data.csv')
for col in df.columns.values:
    if input('Delete ' + col + '? yes/no') == 'yes':
        df.drop([col], axis=1)

df.to_csv('out.csv')

像这样工作。多亏了@julian

import pandas

df = pandas.read_csv('data.csv')
for col in df.columns.values:
    if input('Delete ' + col + '? yes/no') == 'yes':
        df = df.drop([col], axis=1)

df.to_csv('out.csv')

您可以使用“放置”选项进行“放置”,如下所示:

df = pandas.read_csv('data.csv')
for col in df.columns.values:
   if input('Delete ' + col + '? yes/no') == 'yes':
      df.drop([col], axis = 1, inplace = TRUE)

df.to_csv('out.csv')

“不起作用”并没有真正的帮助,请提供有关您的预期结果和实际结果的信息。是否会弹出错误消息?df.drop不会就地修改数据帧。您可以重新分配
df=df.drop()