我正在尝试执行以下操作。
给定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/