pandas从csv文件中读取MultiIndex数据

时间:2018-06-03 11:41:23

标签: python pandas

我有一个MultiIndex csv文件,我想阅读。

数据保存在csv文件中,如下所示:

import pandas as pd
import numpy as np

dfcsv = pd.read_csv("/FilePath/MultiIndex_Example.csv")
dfcsv

这实际上导致了以下数据框:

enter image description here

下面的Python Dataframe构建: (轻松重建)

d = {'Country': ['City', 'PostCode','Day1','Day2','Day3'], 'UK': ['London', '123',47,42,40],'USA': ['New York', '456',31,22,58]}
dfstd = pd.DataFrame(data=d)
  

然而,当我读入数据时,我需要第1列作为   多指标。基本上创建一个数据框如下:

arrays = [['UK','USA'],['London','New York'],['123','456']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['Country', 'City','Postcode'])
df = pd.DataFrame(np.random.randn(3, 2), index=['Day1', 'Day2', 'Day3'], columns=index)
df.columns 

enter image description here

我想知道是否有通过pd.read_csv或pd.MultIndex构造实现此目的的简单方法?

仅供参考我尝试过以下但无法正常工作 Load CSV to Pandas MultiIndex DataFrame

1 个答案:

答案 0 :(得分:5)

我认为您需要以下内容:

dfcsv = pd.read_csv("/FilePath/MultiIndex_Example.csv", index_col=[0], header=[0,1,2])

在此处,index_col会将您的第一列0作为索引,标题作为第一行和第二行作为标题' s 0,1,2作为其 0 -indexed