删除pandas中的索引列
我有以下代码导入CSV文件。 有3列,我想把他们的前两个variables。 当我把第二列设置为variables“效率”时,索引列也被加上了。 我怎样才能摆脱索引列?
df = pd.DataFrame.from_csv('Efficiency_Data.csv', header=0, parse_dates=False) energy = df.index efficiency = df.Efficiency print efficiency
我试过使用
del df['index']
我设置后
energy = df.index
我发现在另一个职位,但结果在“KeyError:'索引'”
DataFrames和Series始终有一个索引。 虽然它显示在列的旁边,但它不是列,这就是为什么del df ['index']不起作用。
如果要用简单的顺序号replace索引,请使用df.reset_index()
。 我强烈build议读一下pandas的文档,比如10分钟pandas,以了解为什么索引在那里是如何使用的。
当你读取和从你的csv文件包括参数index = False所以例如
df.to_csv(filename , index = False)
并从csv中读取
df.read_csv(filename , index = False)
这应该防止这个问题,所以你不需要以后修复它。
例如,您可以将其中一列设置为索引,以防其为“id”。 在这种情况下,索引列将被您select的列中的一个replace。
df.set_index('id', inplace=True)
如果您的问题与我只想将列标题从0重置为列大小的问题相同。 做
df = pd.DataFrame(df.values);
编辑:
不是一个好主意,如果你有不同的数据types。 更好的使用
df.columns = range(len(df.columns))
你可以使用from_csv函数的index_col参数指定哪一列是你的csv文件中的一个索引,如果这不能解决你的问题,请提供你的数据的例子