Python 如何将具有多索引行和列索引的熊猫数据帧导出到csv文件中或从csv文件中导入?
Pandas允许使用将数据帧导出到csv。但是,我不清楚如何从以下位置导出(和导入)用于行和列的数据帧,例如: 要使用Jupyter笔记本中的随机数据值生成这样的数据帧:Python 如何将具有多索引行和列索引的熊猫数据帧导出到csv文件中或从csv文件中导入?,python,pandas,dataframe,export-to-csv,Python,Pandas,Dataframe,Export To Csv,Pandas允许使用将数据帧导出到csv。但是,我不清楚如何从以下位置导出(和导入)用于行和列的数据帧,例如: 要使用Jupyter笔记本中的随机数据值生成这样的数据帧: 将熊猫作为pd导入 将numpy作为np导入 列索引矩阵=[np.数组(['bar','bar','baz','baz','foo','foo']), 数组(['one','two','one','two','one','two'])] 列名称=[“第一”、“第二”] column\u multiindex=pd.multii
将熊猫作为pd导入
将numpy作为np导入
列索引矩阵=[np.数组(['bar','bar','baz','baz','foo','foo']),
数组(['one','two','one','two','one','two'])]
列名称=[“第一”、“第二”]
column\u multiindex=pd.multiindex.from\u数组(column\u index\u矩阵,name=column\u名称)
列多索引
运行
df.to_csv(r'df.csv',index=True)
时,数据帧会正确导出到csv文件中。但是我不知道如何使用。我以前试过,但最终认为最好:
- 取消堆叠整个列多重索引
- 重置索引
- 到
- 阅读
- 旋转台
它看起来更简单,但可能占用更多内存。您可以传递多个列/行以用作索引/标题。在这里,我传递用于索引的第0列和第1列(两个级别),以及用于两个标题级别的第0行和第1行:
pd.read\u csv('data.csv',index\u col=[0,1],header=[0,1])
似乎是
df.to_csv(r'df.csv',index=True)
正确导出到csv。但是没有等效的。我不确定您是否可以同时使用索引和列多索引读取\u csv,cfdf=pd。读取\u csv('df.csv',index\u col=[0,1],header=[0,1])
from。这是一个副本,应该关闭。
first bar baz foo
second one two one two one two
first second
bar one -0.410001 -0.078638 0.545952 -1.219217 -1.226825 0.769804
two -1.281247 -0.727707 -0.121306 -0.097883 0.695775 0.341734
baz one 0.959726 -1.110336 -0.619976 0.149748 -0.732339 0.687738
two 0.176444 0.403310 -0.154951 0.301624 -2.179861 -1.369849
foo one -0.954208 1.462696 -1.743161 -0.826591 -0.345352 1.314232
two 0.690579 0.995761 2.396780 0.014871 3.357427 -0.317441
row_multiindex = column_multiindex
df = pd.DataFrame(np.random.randn(6, 6), index=row_multiindex, columns=column_multiindex)
df
first bar baz foo
second one two one two one two
first second
bar one 0.788793 -0.591498 -0.309037 -0.433105 -1.413536 -0.209560
two -0.354429 1.671837 1.527225 0.282775 -0.973088 -0.728555
baz one -0.180517 1.226219 -0.810984 -0.580251 -0.453205 -1.368015
two -0.040708 -0.836359 -2.043332 1.396955 -0.562718 -1.099926
foo one -0.612561 0.815998 -0.942997 -0.423395 0.157410 -0.537063
two -0.312878 0.194915 -1.420048 -0.944414 -0.560043 -0.036713