我有一个MultiIndex csv文件,我想阅读。
数据保存在csv文件中,如下所示:
import pandas as pd
import numpy as np
dfcsv = pd.read_csv("/FilePath/MultiIndex_Example.csv")
dfcsv
这实际上导致了以下数据框:
下面的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
我想知道是否有通过pd.read_csv或pd.MultIndex构造实现此目的的简单方法?
仅供参考我尝试过以下但无法正常工作 Load CSV to Pandas MultiIndex DataFrame
答案 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