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.