【发布时间】:2018-06-21 23:58:41
【问题描述】:
我想使用 python 的 pandas 进行一些简单的矩阵计算,但在尝试进行以下简单乘法时遇到了一个问题:
df = df.mul(column, axis=1)
df 是一个 3x3 数据帧,如下所示:
441090707 441090801 441090408
441090408 0.255061 0.202650 0.689114
441090707 0.287952 0.218351 0.116750
441090801 0.456987 0.578998 0.194136
虽然列是一个系列,看起来像:
area
441090707 179.727362
441090801 698.939741
441090408 1377.909774
Name: Test, dtype: float64
乘法会引发 RuntimeWarning(在 'str' 和 'int' 的实例之间不支持'
441090707 441090801 ... 441090801 441090408
441090408 NaN NaN ... NaN NaN
441090707 NaN NaN ... NaN NaN
441090801 NaN NaN ... NaN NaN
正如文档所述“不匹配的索引将合并在一起”,因此我的索引似乎存在问题。 但我不知道如何使系列索引与数据框列匹配。
(当我使用“column.values”时乘法有效,但这不是解决方案,因为系列的顺序可能会改变)
【问题讨论】:
-
我无法重现该问题。可以加pandas版本和最小代码sn-p复现吗?