【问题标题】:How to multiply multiple column dataframe by another single column df?如何将多列数据框乘以另一个单列df?
【发布时间】:2019-01-24 10:54:08
【问题描述】:

我正在尝试将两个数据帧相乘:(3868 行 x 758 列)和(3868 行 x 1 列)

free_float = pd.DataFrame(free_float)

weights = pd.DataFrame(weights )

columns = weights.columns

weights[columns] *= free_float['A']

以上代码给我错误:operands could not be broadcast together with shapes (14961424,) (3868,)

【问题讨论】:

  • 你的形状是什么?另外,为什么不直接使用 numpy 数组而不是数据帧?
  • 似乎对我有用。

标签: python pandas dataframe multiplication


【解决方案1】:

对于 pandas,您需要指定 .values 来乘以您的数据框:

df1=pd.DataFrame(np.random.randint(0,1000,3868))
df2=pd.DataFrame(np.random.randint(0,1000,size=(3868,758)))
pd.DataFrame(df1.values*df2.values)

【讨论】:

    猜你喜欢
    • 2020-08-06
    • 2018-02-19
    • 2019-01-20
    • 2020-12-22
    • 1970-01-01
    • 2019-11-02
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多