Cómo multiplicar cada fila en el marco de datos de pandas por un valor diferente
Estoy tratando de multiplicar cada fila de un marco de datos de pandas por un valor diferente y me pregunto cuál es la mejor manera de hacer esto.
Por ejemplo, si tengo el siguiente marco de datos:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randn(2, 3))
df
0 1 2
0 -1.283316 0.849488 1.936060
1 -2.078575 -0.871570 -0.970261
Quiero multiplicar cada elemento de cada fila por uno diferente en una lista o matriz
vals = [1, 100]
En este ejemplo, quiero que cada elemento de la primera fila se multiplique por 1 y que cada elemento de la segunda fila se multiplique por 100
Por lo tanto, el resultado debe ser:
0 1 2
0 -1.283316 0.849488 1.936060
1 -207.8575 -87.1570 -97.0261
Yo he tratado:
df * vals
df.multiply(vals)
df.multiply(vals, axis=1)
Ninguno de los cuales funciona, aunque no los esperaba también, según mi comprensión de lo que debería hacer ese código. No puedo encontrar una manera concisa de hacer esto con los pandas, agradezco cualquier ayuda, gracias.