【问题标题】:Pandas: how to multiply each element of a Series to each element of a column in a DataframePandas:如何将 Series 的每个元素与 Dataframe 中列的每个元素相乘
【发布时间】:2023-03-14 09:10:01
【问题描述】:

我正在尝试找到使用 numpy 或 pandas 执行以下操作的解决方案:

例如,结果矩阵的第一列是 [0, 0, 0],它是 [axa] 元素的结果,更具体地说,它等于: [0 x 0.5, 0 x 0.4, 0 x 0.1 ].

如果没有解决此类问题的方法,我可能只是将系列扩展为一个数据帧,方法是将其值复制为仅乘以两个数据帧..

输入数据:

series = pd.Series([0,10,0,100,1], index=list('abcde'))

df = pd.DataFrame([[0.5,0.4,0.2,0.7,0.8],
                   [0.4,0.5,0.1,0.1,0.5],
                   [0.1,0.9,0.8,0.3,0.8]
                  ], columns=list('abcde'))

【问题讨论】:

  • 您能否编辑您的问题并将数据框以文本形式放在那里(以便我们可以复制粘贴它们)?

标签: python pandas dataframe numpy matrix


【解决方案1】:

这其实很简单。由于 Series 的索引与 DataFrame 的列对齐,因此您只需:

series*df

输出:

     a    b    c     d    e
0  0.0  4.0  0.0  70.0  0.8
1  0.0  5.0  0.0  10.0  0.5
2  0.0  9.0  0.0  30.0  0.8

输入:

series = pd.Series([0,10,0,100,1], index=list('abcde'))
df = pd.DataFrame([[0.5,0.4,0.2,0.7,0.8],
                   [0.4,0.5,0.1,0.1,0.5],
                   [0.1,0.9,0.8,0.3,0.8]
                  ], columns=list('abcde'))

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    相关资源
    最近更新 更多