【发布时间】:2019-05-20 06:29:42
【问题描述】:
我有两个 MultiIndex 数据帧
和
并希望以我产生的方式将两者相乘:
一般我该怎么做?请注意,可能有任意数量的foo 变量,每个变量可能包含任意数量的bar 变量。
下面是重现两个原始数据帧df_1和df_2的代码:
vals_1 = pd.np.random.rand(2, 4) * 100
tuples_1 = [('A', 'P'), ('A', 'Q'), ('B', 'R'), ('B', 'S')]
idx_1 = pd.MultiIndex.from_tuples(tuples_1, names=['foo', 'bar'])
df_1 = pd.DataFrame(vals_1, columns=idx_1)
rs = pd.np.random.rand(2, 1)
rs2 = pd.np.random.rand(2, 1)
vals_2 = pd.np.concatenate([rs, 1 - rs, rs2, 1 - rs2], axis=1)
tuples_2 = [('A', 'spam'), ('A', 'eggs'), ('B', 'spam'), ('B', 'eggs')]
idx_2 = pd.MultiIndex.from_tuples(tuples_2, names=['foo', 'qux'])
df_2 = pd.DataFrame(vals_2, columns=idx_2)
【问题讨论】:
-
首先,请以我不必手动输入的形式提供数据框。
-
添加代码以在编辑中重现
标签: python python-3.x pandas dataframe multi-index