python - 通过乘以索引标签在 Dataframe 上广播标量

标签 python pandas

我正在尝试执行以下操作。

给定df1:

        0         1         2         3         4         5         6  \
   BTC -0.000949 -0.002530 -0.004480 -0.005973 -0.004268 -0.005630 -0.007931   
   ETH -0.000701  0.001756 -0.001333  0.000038  0.000101 -0.001066  0.000171   
   XRP  0.000023 -0.000052 -0.000104 -0.003211 -0.003266 -0.008709 -0.010135  

df2:

          2019-10-01
currency            
 BTC         0.000807
 ETH         0.000011
 XRP         0.000109

我想将 df2 的每个标量乘以 df1 中对应的行 例如,在输出数据帧的单元格中,它将是 0.000807 * -0.000949 = -0.000000766 我尝试了以下代码,但它没有按预期工作:

 w_ret = df1.mul(df2, axis=0, fill_value=0)

如有任何帮助,我们将非常感激。

最佳答案

系列的名称选择列:

w_ret = df1.mul(df2['2019-10-01'], axis=0)
print (w_ret)
                0             1             2             3             4  \
BTC -7.658430e-07 -2.041710e-06 -3.615360e-06 -4.820211e-06 -3.444276e-06   
ETH -7.711000e-09  1.931600e-08 -1.466300e-08  4.180000e-10  1.111000e-09   
XRP  2.507000e-09 -5.668000e-09 -1.133600e-08 -3.499990e-07 -3.559940e-07   

                5             6  
BTC -4.543410e-06 -6.400317e-06  
ETH -1.172600e-08  1.881000e-09  
XRP -9.492810e-07 -1.104715e-06  

关于python - 通过乘以索引标签在 Dataframe 上广播标量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58195973/

相关文章:

python - 如何计算 pandas 系列列表中每个元素的出现次数?

python - 按值范围字典过滤数字列

python - Pandas "if X not in DataFrame"总是抛出错误

python - Pandas `agg` 列出, "AttributeError/ValueError: Function does not reduce"

python - 为什么 timeit.timeit 在使用变量时会出错?

python - 根据元素出现在另一个数组中的次数,删除 NumPy 数组中元素的最高效方法是什么?

python - 我如何在 Django 模板中执行此循环?

python - 多对多关系情况下如何选择记录与ponyorm

pandas - Pandas 中的滚动多项式回归

python - 将 json 数据(未定义/困惑)转换为 DataFrame 的正确方法是什么?