Dataframe Apply-Methode zum Zurückgeben mehrerer Elemente (Serien)

import pandas as pd

Sagen wir, ich habe eindataframe wie so:

df = pd.DataFrame({"a":range(4),"b":range(1,5)})

es sieht aus wie das

   a  b
0  0  1
1  1  2
2  2  3
3  3  4

und eine Funktion, die X mit Y multipliziert:

def XtimesY(x,y):
    return x*y

Wenn ich eine neue Pandas-Serie zu df hinzufügen möchte, kann ich Folgendes tun:

df["c"] =df.apply( lambda x:XtimesY(x["a"],2), axis =1)

Es klappt

etzt möchte ich mehrere Serien hinzufügen:

Ich habe diese Funktion:

def divideAndMultiply(x,y):
    return x/y, x*y

etwas wie das ?

df["e"], df["f"] = df.apply( lambda x: divideAndMultiply(x["a"],2) , axis =1)

Es funktioniert nicht!

Ich will das'e' Spalte, um die Divisionen und @ zu erhalt'f' Spalte die Multiplikationen!

Hinweis: Dies ist nicht der Code, den ich verwende, aber ich erwarte das gleiche Verhalten.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage