Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Funktion elementweise auf mehrere Pandas DataFrame-Spalten anwenden?
Problem:
Gegeben eine Funktion und ein Pandas-DataFrame mit mehreren Spalten, Wie können wir die Funktion elementweise auf jedes Paar entsprechender Werte in der anwenden? Spalten?
Lösung:
Es gibt eine effiziente Möglichkeit, dies mit der Lambda-Funktion und der Anwendungsmethode von Pandas zu erreichen:
def get_sublist(sta, end): return mylist[sta:end+1] df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
Dies gilt Fügen Sie die Funktion get_sublist jeder Zeile des DataFrame hinzu und verwenden Sie dabei die Werte in den Spalten „col_1“ und „col_2“ als Eingaben. Das Ergebnis ist eine neue Spalte, „col_3“, die die berechneten Unterlisten enthält.
Verwendung:
Betrachten Sie das folgende Beispiel:
df = pd.DataFrame({'ID':['1','2','3'], 'col_1': [0,2,3], 'col_2':[1,4,5]}) mylist = ['a','b','c','d','e','f'] # Apply the function and create a new column df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1) print(df)
Ausgabe:
ID col_1 col_2 col_3 0 1 0 1 ['a', 'b'] 1 2 2 4 ['c', 'd', 'e'] 2 3 3 5 ['d', 'e', 'f']
Das obige ist der detaillierte Inhalt vonWie kann ich eine Funktion elementweise auf mehrere Pandas DataFrame-Spalten anwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!