pd.read_csv 添加名为“未命名:0”的列

oku*_*oub 12 python csv pandas

我有一个包含 3 列的数据框。我保存pd.to_csv(filename) 然后重新打开它

pd.read_csv(filename, index_col=False)
Run Code Online (Sandbox Code Playgroud)

但是我得到了一个有 4 列的数据框,最左边的列称为

未命名:0

这实际上只是行号。没有它,我如何阅读 csv?

谢谢!

Kar*_*mar 15

你应该试试:

pd.read_csv('file.csv', index_col=0)
Run Code Online (Sandbox Code Playgroud)

index_col : int 或 sequence 或 False,默认 None 列用作 DataFrame 的行标签。如果给出序列,则使用 MultiIndex。如果你有一个格式错误的文件,每行末尾都有分隔符,你可以考虑 index_col=False 强制熊猫不使用第一列作为索引(行名)

示例数据集:

我从谷歌获取了数据集,所以虽然我只是尝试使用 pd.read_csv 导入数据,但它显示Unnamed: 0为默认值。

>>> df = pd.read_csv("amis.csv")
>>> df.head()
   Unnamed: 0  speed  period  warning  pair
0           1     26       1        1     1
1           2     26       1        1     1
2           3     26       1        1     1
3           4     26       1        1     1
4           5     27       1        1     1
Run Code Online (Sandbox Code Playgroud)

所以,只是为了避免Unnamed: 0我们必须使用的index_col=0并且会得到更好的数据帧:

>>> df = pd.read_csv("amis.csv", index_col=0)
>>> df.head()
   speed  period  warning  pair
1     26       1        1     1
2     26       1        1     1
3     26       1        1     1
4     26       1        1     1
5     27       1        1     1
Run Code Online (Sandbox Code Playgroud)

注意:因此,为了更明确地理解我们所说的index_col=0,它将第一列作为索引放置在 dataFrame 中,而不是显示为Unnamed: 0

希望这会有所帮助。