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