gpt4 book ai didi

python - 如何使用 applymap 跨两个数据帧进行列乘法?

转载 作者:太空宇宙 更新时间:2023-11-03 14:52:16 26 4
gpt4 key购买 nike

我刚刚使用 pandas read_excel 将两个 excel 表加载到 2 个数据帧中。

是否可以使用基于行和列索引的数据框 B 的单元格数据在数据框 A 的单元格上应用映射?

下面是一个例子:

数据框A

Dataframe A

数据框B

Dataframe B

假设 applymay 使用 Dataframe A 的所有行 [i] 乘以 Dataframe B 的单元格 [i][0] 的简单函数

感谢任何帮助

最佳答案

你可以使用广播,我不认为df.applymap适用于此处:

df_new = pd.DataFrame(A.values * B.values)

演示:

In [987]: A
Out[987]:
Col1 Col2
0 1 2
1 2 3
2 3 4

In [988]: B
Out[988]:
Col1
0 10
1 20
2 30

In [989]: pd.DataFrame(A.values * B.values, columns=A.columns)
Out[989]:
Col1 Col2
0 10 20
1 40 60
2 90 120
<小时/>

您可以考虑使用df.apply :

In [1004]: A.apply(lambda x: x * B.Col1.values, 0)
Out[1004]:
Col1 Col2
0 10 20
1 40 60
2 90 120

一个slight simplification使用df.mul :

In [1107]: A.mul(B.Col1, 0)
Out[1107]:
Col1 Col2
0 10 20
1 40 60
2 90 120

关于python - 如何使用 applymap 跨两个数据帧进行列乘法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45813780/

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