假設我有一個帶有100k行的DataFrame
和一列name
。我想盡可能有效地將這個名字分成姓和名。我目前的方法是,在熊貓DataFrame中快速應用字符串操作
def splitName(name):
return pandas.Series(name.split()[0:2])
df[['first', 'last']] = df.apply(lambda x: splitName(x['name']), axis=1)
不幸的是,DataFrame.apply
真的很慢。我能做些什麼來使這個字符串操作幾乎和numpy
操作一樣快?
謝謝!
如果你有大熊貓0.8.1或以上,它看起來像你應該能夠做到'series.str.split()'。 Docs here:http://pandas.pydata.org/pandas-docs/stable/basics.html#vectorized-string-methods –