python - 将系列与 DataFrame 相乘,其中 series.index == dataframe.columns

标签 python pandas numpy

您好,我有一个非常简单的场景,我不知道如何通过简单的方法来解决。

我有以下数据框:

In [30]: d = pd.DataFrame([1,2,3], index=['A', 'B', 'C'])

In [31]: d
Out[31]: 
   0
A  1
B  2
C  3

In [32]: dd = pd.DataFrame({"A":[1,2,3], "B":[10,20,30], "C":[100, 200, 300]}, 
                           index=["A", "B", "C"])

In [33]: dd
Out[33]: 
   A   B    C
A  1  10  100
B  2  20  200
C  3  30  300

我现在想要将 dd 中的每一列与 d 中该索引的值相乘。本质上,我试图为以下循环找到向量运算:

In [55]: for i in d.index:
    dd[i] *= d.ix[i][0]
   ....:     

In [56]: dd
Out[56]: 
   A   B    C
A  1  20  300
B  2  40  600
C  3  60  900

最佳答案

你可以

In [173]: dd * d[0]
Out[173]:
   A   B    C
A  1  20  300
B  2  40  600
C  3  60  900

In [174]: dd *= d[0]

In [175]: dd
Out[175]:
   A   B    C
A  1  20  300
B  2  40  600
C  3  60  900

或者,

In [179]: dd.mul(d[0])
Out[179]:
   A   B    C
A  1  20  300
B  2  40  600
C  3  60  900

关于python - 将系列与 DataFrame 相乘,其中 series.index == dataframe.columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45741414/

相关文章:

python - 导入错误: cannot import name 'model_urls' from 'torchvision.models.vgg'

python - 如何在 Matplotlib 饼图中显示实际值而不是百分比

python - Pandas 用同一行中的其他列值替换数据框值

python - `np.any` 从对象数组返回一个对象而不是 bool 值?

python - 使用叠加模拟球体周围的扬声器-需要提高速度

python - Pandas 合并101

python - 如何使用 pefile 从 PE 文件中获取 .text 部分

Python 数据帧到 SQL 数字正在四舍五入

python - python中的矩阵镜像

python - 计算 pandas 列中指定范围值的平均值并存储为另一列