Angenommen, ich habe eine DataFrame
mit 100k Zeilen und eine Spalte name
. Ich möchte diesen Namen so effizient wie möglich in Vor- und Nachnamen aufteilen. Meine aktuelle Methode ist,Schnell anwenden String-Operationen in einem Pandas DataFrame
def splitName(name):
return pandas.Series(name.split()[0:2])
df[['first', 'last']] = df.apply(lambda x: splitName(x['name']), axis=1)
Leider DataFrame.apply
ist wirklich, wirklich langsam. Gibt es etwas, was ich tun kann, um diese String-Operation fast so schnell wie eine numpy
Operation zu machen?
Danke!
Wenn Sie Pandas 0.8.1 oder höher haben, sieht es aus wie Sie sollten in der Lage 'series.str.split()' zu tun. Dokumente hier: http://pandas.pydata.org/pandas-docs/stable/basics.html#vectorized-string-methoden –