我有一个来自 A-G 列的数据文件,如下所示,但是当我使用 pd.read_csv('data.csv')
读取它时,它会打印一个额外的 unnamed
列最后无缘无故。
colA ColB colC colD colE colF colG Unnamed: 7
44 45 26 26 40 26 46 NaN
47 16 38 47 48 22 37 NaN
19 28 36 18 40 18 46 NaN
50 14 12 33 12 44 23 NaN
39 47 16 42 33 48 38 NaN
我已经多次查看我的数据文件,但我在任何其他列中都没有额外的数据。阅读时我应该如何删除这个额外的列?谢谢
最佳答案
df = df.loc[:, ~df.columns.str.contains('^Unnamed')]
In [162]: df
Out[162]:
colA ColB colC colD colE colF colG
0 44 45 26 26 40 26 46
1 47 16 38 47 48 22 37
2 19 28 36 18 40 18 46
3 50 14 12 33 12 44 23
4 39 47 16 42 33 48 38
注意:通常只有一个未命名列 Unnamed: 0
,它是 CSV 文件中的第一列。这是以下步骤的结果:
- 使用参数
index=True
将 DataFrame 保存到 CSV 文件中,这是默认行为 - 我们使用
pd.read_csv()
将此 CSV 文件读入 DataFrame 而不明确指定index_col=0
(默认值:index_col=None
)
摆脱这一列最简单的方法是指定参数pd.read_csv(..., index_col=0)
:
df = pd.read_csv('data.csv', index_col=0)
关于python - 删除 Pandas 数据框中的未命名列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43983622/