在pandas中将数据从一个多索引数据帧复制到另一个多索引

2024-10-03 21:36:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将一个多索引数据帧复制到另一个数据帧,但是,它以某种方式不起作用。这是玩具的例子。在

arrays = [np.array(['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux']), \
          np.array(['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two'])]
df = pd.DataFrame(np.random.randn(8, 4), index=arrays)

mindx = df.index.set_names(['X', 'Y'])
df = df.set_index(mindx)


             0          1            2         3
X   Y               
bar one -2.327132   -0.119892   -0.288562   0.767718
    two -0.056876   -0.105477   1.012807    -0.088878
baz one 1.661728    0.924212    -0.618278   0.119823
    two 1.131492    -0.857924   0.711160    -0.029915
foo one 0.895299    -0.605197   0.227541    1.892720
    two -0.203198   0.507463    -1.573138   1.052957
qux one -0.751430   1.871923    0.359925    -2.157044
    two -0.924937   -1.830958   0.934699    0.909292

现在,我想将这个dataframe分配给另一个multiindex dataframe,它是这样初始化的:

^{pr2}$

为了复制,我使用了以下命令,它什么也不做。我不明白为什么会这样?在

df_mult.loc[pd.IndexSlice[:, 'one'], :] = df.copy()

任何帮助都将不胜感激。提前谢谢。在


Tags: 数据dfindexfoonpbarbazarray