Pandas的read_csv中index_col的默认行为是什么?

1bqhqjot  于 2023-02-02  发布在  其他
关注(0)|答案(1)|浏览(120)

在Pandas文档中,对于函数read_csv,我试图理解当index_col设置为默认值None时,下面关于函数行为的解释是什么:
默认值“无”指示Pandas进行猜测。如果列标题行中的字段数等于数据文件正文中的字段数,则使用默认索引。如果该值较大,则将前几列用作索引,以便正文中剩余的字段数等于标题中的字段数。
标头后的第一行用于确定将进入索引的列数。如果后续行包含的列数少于第一行,则用NaN填充。
所以我想出了下面这个玩具的例子:

with open("io_tools_example_index.txt", "w") as f:
    f.write("pandas, koalas, lizards, kangaroos\n1,2,3\n4,5,6")

当我执行pd.read_csv("io_tools_example_index.txt")时,我得到:

而根据他们的解释,我本以为Pandas会使用pandas列作为索引,因为列标题中的字段数大于其余行中的字段数。

b1uwtaje

b1uwtaje1#

这是不明确的,但是“If it is larger”中的“it”指的是数据文件主体中的字段数,而不是列标题字段数。

pandas, koalas
1,2,3
4,5,6

那么“1”和“4”将被用作正文中行的索引,因此运行pd.read_csv("foo2.csv")将得到以下结果:

pandas   koalas
1       2        3
4       5        6

相关问题