如何在GPU上用cuDF实现两个DataFrame逐元素相乘?
解决cudf.DataFrame逐元素相乘的问题
cudf.DataFrame没有multiply方法,你可以通过以下两种方式实现逐元素相乘:
方法1:使用*操作符
这是最简洁的方式,直接对两个DataFrame执行乘法操作:
import cudf a = cudf.DataFrame() a['c1'] = [1, 2] b = cudf.DataFrame() b['c1'] = [2, 5] result = a * b print(result)
输出结果:
c1 0 2 1 10
方法2:使用mul()方法
cudf提供了mul()方法用于逐元素乘法运算,用法如下:
result = a.mul(b) print(result)
执行后同样会得到你期望的输出。
补充说明
- 如果两个DataFrame包含多列,只要列名对应,上述两种方式会自动按列匹配完成逐元素相乘;
- 若列名不匹配,对应位置会生成
NaN,这一行为与pandas保持一致。
内容的提问来源于stack exchange,提问作者Sadcow
相关产品推荐
相关产品推荐

