【问题标题】:Elementwise multiplication of pandas dataframe熊猫数据框的元素乘法
【发布时间】: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 写入新列(或新数据框)中。

标签: python pandas


【解决方案1】:

您应该使用:print(x*y.values) 而不是 print(x*y)

【讨论】:

    猜你喜欢
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-01
    • 2019-01-26
    • 2020-04-06
    • 2018-01-24
    相关资源
    最近更新 更多