Wie multipliziere ich jede Zeile in Pandas DataFrame mit einem anderen Wert?

Ich versuche, jede Zeile eines Pandas-Datenrahmens mit einem anderen Wert zu multiplizieren, und frage mich, wie dies am besten funktioniert.

Zum Beispiel, wenn ich den folgenden Datenrahmen habe:

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

Ich möchte jedes Element jeder Zeile mit einem anderen Element in einer Liste oder einem Array multiplizieren.

vals = [1, 100]

In diesem Beispiel soll jeder Artikel in der ersten Zeile mit 1 und jeder Artikel in der zweiten Zeile mit 100 multipliziert werden.

das Ergebnis sollte daher sein:

     0          1           2
0   -1.283316   0.849488    1.936060
1   -207.8575   -87.1570    -97.0261

Ich habe versucht

df * vals
df.multiply(vals)
df.multiply(vals, axis=1)

Keine davon funktioniert, obwohl ich nicht damit gerechnet habe, basierend auf meinem Verständnis, was dieser Code tun sollte. Ich kann nicht herausfinden, wie ich das mit Pandas umsetzen kann. Jede Hilfe wird gebeten, danke.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage