【发布时间】:2020-06-22 17:30:08
【问题描述】:
我知道这个问题已经被问过好几次了,但是我尝试了所有的答案,但仍然没有得到正确的结果。我只想对两个熊猫数据帧进行逐元素乘法,但它总是会导致矩阵结构混乱:
x = pd.DataFrame([1,1,1],[2,2,2])
y= pd.DataFrame([0,0,0],[1,1,1])
z= x*y 应该导致 z 为
2 0
2 0
2 0
但是反而导致 z 为:
0
1 NaN
1 NaN
1 NaN
2 NaN
2 NaN
2 NaN
我做错了什么?我试过 pandas.mul 和 pandas.multiply,但没有成功。
【问题讨论】:
-
您不能使用 x * y 将两个数据帧相乘,只能使用系列或 np.arrays。 x.values * y.values 给出了正确的结果,但作为 np.array。您可以将此 np.array 写入新列(或新数据框)中。