gpt4 book ai didi

csv - 从 csv 文件中读取列上的多重索引

转载 作者:行者123 更新时间:2023-12-02 20:59:09 25 4
gpt4 key购买 nike

我有一个如下所示的 .csv 文件:

Male, Male, Male, Female, Female
R, R, L, R, R
.86, .67, .88, .78, .81

我想将其读入 df,这样我就有:

    Male        Female
R L R
0 .86 .67 .88 .78 .81

我做到了:

df = pd.read_csv('file.csv', header=[0,1])

但是headers并没有削减它。结果是

Empty DataFrame
Columns: [(Male, R), (Male, R), (Male, L), (Female, R), (Female, R)]
Index: []

然而,标题上的文档说:

(...)Can be a list of integers that specify row
locations for a multi-index on the columns E.g. [0,1,3]

我做错了什么?我怎样才能让它发挥作用?

最佳答案

我认为问题在于您有重复的列:两个(女性,R)。

不确定这是一个错误还是重复的列 Not Acceptable 。这是适合您的解决方法:

首先使用 tupleize_cols=True 读取 csv

In [61]: df = pd.read_csv('test.csv', header=[0, 1], skipinitialspace=True, tupleize_cols=True)

In [62]: df
Out[62]:
(Male, R) (Male, R) (Male, L) (Female, R) (Female, R)
0 0.67 0.67 0.88 0.81 0.81

[1 rows x 5 columns]

然后将列的类型从 Index 转换为 MultiIndex

In [63]: df.columns = pd.MultiIndex.from_tuples(df.columns)

In [64]: df
Out[64]:
Male Female
R R L R R
0 0.67 0.67 0.88 0.81 0.81

[1 rows x 5 columns]

关于csv - 从 csv 文件中读取列上的多重索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21318865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com