原始的 csv 文件数据是这样的:
06/04/2011,104.64,105.17
07/04/2011,104.98,105.51
08/04/2011,105.43,105.96
11/04/2011,104.47,104.99
Run Code Online (Sandbox Code Playgroud)
如何将 csv 文件读入 DataFrame 并添加多行索引级别,或将多行索引添加到 csv 并导入到 DataFrame 中,如下所示:
JAS
date bid ask
06/04/2011 104.64 105.17
07/04/2011 104.98 105.51
08/04/2011 105.43 105.96
11/04/2011 104.47 104.99
Run Code Online (Sandbox Code Playgroud)
读取 CSV,将第一(第 0)列设置为索引。
In [8]: df = pd.read_csv(StringIO("""06/04/2011,104.64,105.17
07/04/2011,104.98,105.51
08/04/2011,105.43,105.96
11/04/2011,104.47,104.99"""), index_col=0, header=None)
Run Code Online (Sandbox Code Playgroud)
创建一个新的 MultiIndex,并将其分配给列。
In [11]: df.columns = pd.MultiIndex.from_tuples([('JAS', 'bid'), ('JAS', 'ask')])
Run Code Online (Sandbox Code Playgroud)
最后,命名索引,我们就有了你想要的结果。
In [12]: df.index.name = 'date'
In [13]: df
Out[13]:
JAS
bid ask
date
06/04/2011 104.64 105.17
07/04/2011 104.98 105.51
08/04/2011 105.43 105.96
11/04/2011 104.47 104.99
Run Code Online (Sandbox Code Playgroud)