【发布时间】:2018-06-10 01:02:00
【问题描述】:
我一直在使用面板来代替具有多级索引的数据框,因为它们对于大型数据集似乎更快。但我现在正在过渡到 Midx 框架。使用面板,我可以轻松做到这一点:
import pandas as pd
pan = pd.Panel(np.random.randn(3,5,2),items=['p1','p2','p3'],minor_axis=['a','b'])
然后添加一个新项目:
pan['p4'] = pd.DataFrame(np.random.randn(10,2),columns=['a','b'])
但使用 Midx:
cols = [['p1','p2','p3'],['a','b']]
idx = pd.MultiIndex.from_product(cols)
df_midx = pd.DataFrame(np.random.randn(10,6),columns=idx)
这会返回一个错误:
df_midx['p4'] = pd.DataFrame(np.random.randn(10,2),columns=['a','b'])
ValueError: 传递的项目数错误 2,位置暗示 1
【问题讨论】:
标签: python pandas dataframe multi-index