gpt4 book ai didi

python - 通过 multiindex 将 Series 分配给 DataFrame

转载 作者:行者123 更新时间:2023-11-28 17:02:21 25 4
gpt4 key购买 nike

df_a = pd.DataFrame(data = [[1,2,3], [1,2,3], [1,2,3], [1,2,3]], index = [['a', 'a', 'a', 'a'], ['b', 'b', 'b', 'b'] ], columns=['A', 'B', 'C'])

A B C
a b 1 2 3
b 1 2 3
b 1 2 3
b 1 2 3

我有系列:

df_b = pd.Series(data = [1,2,3, 4], index = [['a', 'a', 'a', 'a'], ['b', 'b1', 'b2', 'b3'] ])

a b 1
b1 2
b2 3
b3 4

我正在尝试将 Series 分配给 DataFrame

    idx = df_a.index.intersection(df_b.index)
df_a.loc[idx]['new_column'] = df_b.loc[idx]

但是我得到:

     A  B  C
a b 1 2 3
b 1 2 3
b 1 2 3
b 1 2 3

我希望得到:

     A  B  C new_column
a b 1 2 3 1
b 1 2 3 1
b 1 2 3 1
b 1 2 3 1

知道哪里出了问题吗?

最佳答案

直接赋值即可。系列分配默认按索引对齐:

df_a['new_column'] = df_b

print(df_a)

A B C new_column
a b 1 2 3 1
b 1 2 3 1
b 1 2 3 1
b 1 2 3 1

关于python - 通过 multiindex 将 Series 分配给 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53574853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com