Erstellt zwei Serien: s1
und s2
von df
.Multiply zwei Pandas-Serie mit nicht übereinstimmenden Indizes
Beide haben die gleiche Länge, aber unterschiedliche Indizes. s1.multiply(s2)
verknüpft die nicht übereinstimmenden Indizes, anstatt mit ihnen zu multiplizieren.
Ich möchte nur entrywise s1
gegen s2
multiplizieren, die nicht übereinstimmenden Indizes ignorieren.
Ich könnte s1.reset_index()
und s2.reset_index()
ausführen und dann die Spalte, die ich von diesen beiden dfs will, da es den ursprünglichen Index in eine separate Spalte verwandelt, aber das ist langweilig und ich dachte, es könnte eine einfachere Möglichkeit, es zu tun.
s1.multiply(s2, axis='columns')
scheint nicht
Sie zu einem numpy Array umwandeln denen Ignoriere den Index mit 'values':' s1.values.mul (s2.values) '. – JohnE
Dank John, das funktioniert tatsächlich, um die Werte der Serie zu multiplizieren. Leider konvertiert es die Serie in ein numpliges Array. Weißt du, wie man den ganzen Prozess mit Serien halten kann, statt zu num- py Arrays und dann zurück zu Serien (result = pandas.Series (s1.values * s2.values))? – intdt
's1 * s2.values' sollte funktionieren – EdChum