pandas:如何摆脱数据框中的“未命名:”列

我有一种情况,其中有时当我从df读取一个csv ,我得到一个名为unnamed:0的不需要索引的列。 这很烦人! 我努力了

 merge.to_csv('xy.df', mode = 'w', inplace=False) 

我认为这是一个解决scheme,但我仍然得到unnamed:0列! 有没有人有这个想法?

这是索引列,通过index=False不写出来,看文档

例:

 In [37]: df = pd.DataFrame(np.random.randn(5,3), columns=list('abc')) pd.read_csv(io.StringIO(df.to_csv())) Out[37]: Unnamed: 0 abc 0 0 0.109066 -1.112704 -0.545209 1 1 0.447114 1.525341 0.317252 2 2 0.507495 0.137863 0.886283 3 3 1.452867 1.888363 1.168101 4 4 0.901371 -0.704805 0.088335 

与之比较:

 In [38]: pd.read_csv(io.StringIO(df.to_csv(index=False))) Out[38]: abc 0 0.109066 -1.112704 -0.545209 1 0.447114 1.525341 0.317252 2 0.507495 0.137863 0.886283 3 1.452867 1.888363 1.168101 4 0.901371 -0.704805 0.088335 

你也可以select通过传递index_col=0告诉read_csv第一列是索引列:

 In [40]: pd.read_csv(io.StringIO(df.to_csv()), index_col=0) Out[40]: abc 0 0.109066 -1.112704 -0.545209 1 0.447114 1.525341 0.317252 2 0.507495 0.137863 0.886283 3 1.452867 1.888363 1.168101 4 0.901371 -0.704805 0.088335