gpt4 book ai didi

python-3.x - 将两个具有相同维度并重复行的不同数据框相乘

转载 作者:行者123 更新时间:2023-12-04 01:56:55 25 4
gpt4 key购买 nike

我正在尝试将两个数据框相乘

Df1

Name|Key |100|101|102|103|104
Abb AB 2 6 10 5 1
Bcc BC 1 3 7 4 2
Abb AB 5 1 11 3 1
Bcc BC 7 1 4 5 0


Df2

Key_1|100|101|102|103|104
AB 10 2 1 5 1
BC 1 10 2 2 4


预期产量

Name|Key |100|101|102|103|104
Abb AB 20 12 10 25 1
Bcc BC 1 30 14 8 8
Abb AB 50 2 11 15 1
Bcc BC 7 10 8 10 0


我试过将Df1分组,然后与Df2相乘,但是没有用
请帮我解决这个问题

最佳答案

您可以将df2 rename Key_1设置为Key(类似于df1),然后在mul上设置索引和level=1

df1.set_index(['Name','Key']).mul(df2.rename(columns={'Key_1':'Key'})
.set_index('Key'),level=1).reset_index()


或类似:

df1.set_index(['Name','Key']).mul(df2.set_index('Key_1')
.rename_axis('Key'),level=1).reset_index()


正如@QuangHoang正确指出的那样,您也可以重命名:

df1.set_index(['Name','Key']).mul(df2.set_index('Key_1'),level=1).reset_index()




  Name Key  100  101  102  103  104
0 Abb AB 20 12 10 25 1
1 Bcc BC 1 30 14 8 8
2 Abb AB 50 2 11 15 1
3 Bcc BC 7 10 8 10 0

关于python-3.x - 将两个具有相同维度并重复行的不同数据框相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60760573/

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