Erstellen einer neuen Spalte in Panda mithilfe der Lambda-Funktion für zwei vorhandene Spalten

Ich kann eine neue Spalte in Panda hinzufügen, indem ich die Benutzerfunktion definiere und dann Apply benutze. Ich möchte dies jedoch mit @ t Lambda; Gibt es einen Ausweg?

Zum Beispiel,df hat zwei Spaltena undb. Ich möchte eine neue Spalte erstellenc was gleich der längsten Länge zwischen @ ia undb.

Etwas wie

df['c'] = df.apply(lambda x, len(df['a']) if len(df['a']) > len(df['b']) or len(df['b']) )

Ein Ansatz

df = pd.DataFrame({'a':['dfg','f','fff','fgrf','fghj'], 'b' : ['sd','dfg','edr','df','fghjky']})

df['c'] = df.apply(lambda x: max([len(x) for x in [df['a'], df['b']]]))
print df
      a       b   c
0   dfg      sd NaN
1     f     dfg NaN
2   fff     edr NaN
3  fgrf      df NaN
4  fghj  fghjky NaN

Antworten auf die Frage(2)

Ihre Antwort auf die Frage