我想将hdataframe列与dataframe列相乘。
我有两个数据框,如下所示:
A dataframe, B dataframe
a b c d e
3 4 4 4 2
3 3 3 3 3
3 3 3 3 4
我想乘A和B。
乘法结果应该是这样的:
a b c d
6 8 8 8
9 9 9 9
12 12 12 12
我只是尝试*乘法,但是得到了错误的结果。
提前谢谢!
答案 0 :(得分:4)
使用B.values
或B.to_numpy()
将返回numpy数组,然后可以与DataFrame相乘
例如:
>>> A
a b c d
0 3 4 4 4
1 3 3 3 3
2 3 3 3 3
>>> B
c
0 2
1 3
2 4
>>> A * B.values
a b c d
0 6 8 8 8
1 9 9 9 9
2 12 12 12 12
答案 1 :(得分:1)
@Dishin出色答案的另一种形式:
通过将B设置为序列并在索引上进行乘数运算,U可以使用熊猫mul方法将A乘以B:
A.mul(B.iloc[:,0],axis='index')
a b c d
0 6 8 8 8
1 9 9 9 9
2 12 12 12 12
答案 2 :(得分:1)
通过选择static/
css/
js /
media/
node_modules/
path/to/my/local/source/code
node_modules
src
列,将DataFrame.mul
与Series
一起使用:
e
答案 3 :(得分:0)
我认为您正在寻找mul函数,如在此线程here上所示,这是代码。
df = pd.DataFrame([[3, 4, 4, 4],[3, 3, 3, 3],[3, 3, 3, 3]])
val = [2,3,4]
df.mul(val, axis = 0)
以下是结果:
0 1 2 3
0 6 8 8 8
1 9 9 9 9
2 12 12 12 12
忽略索引。