根据python中的列号/位置删除csv文件中的列

时间:2016-06-17 14:27:45

标签: python python-3.x csv

我首先尝试将2个csv文件合并为一个更大的文件。这是我的代码:

import glob
path = r'Z:/Mike/Matt/' # use your path
allFiles = glob.glob(path + '/*timeseries.csv')
frame = pd.DataFrame()
list_ = []
for file_ in allFiles:
    df = pd.read_csv(file_,index_col=None, header=0)
    list_.append(df)
frame = pd.concat(list_, axis=1) #axis = 1 appends horizontally
frame.to_csv('emotion_timeseries.csv')

这会创建一个我想要的大型csv文件,但是,当我尝试阅读" frame"在spyder控制台中也会出现以下错误:

ValueError:无法从重复轴重新索引

由于我最终能够获得csv文件,所以我并不太担心。现在我试图从上面的csv中删除某些列。

我有以下专栏:"主题,试验,情绪,反应,主题,试验,情绪,反应"。这些列包含不同的不同信息。我想摆脱出现的第二个主题栏,以及出现的第二个试验栏。

我尝试使用以下代码:

frame.drop(df.columns[[4,5]], axis=1, inplace=True)
frame.to_csv('emotion_cleaner_timeseries.csv')

我收到以下错误:IndexError:索引5超出了轴1的大小为5

我希望上面的代码可以放弃第5和第6列,留下我的主题,试验,情感,反应,情感,反应和#34;。

我有一种感觉我错误地使用了这个命令,我希望有人能够帮助我实现这个目标。如果您有任何问题,请提前感谢您的帮助,并告诉我们。

0 个答案:

没有答案