DataFrame
に100k行、列にname
があるものとします。この名前をできるだけ効率的に姓と名に分けたいと思います。私の現在の方法は残念ながら、DataFrame.apply
は本当に、本当に遅いです、素早くpandas DataFrameに文字列演算を適用する
def splitName(name):
return pandas.Series(name.split()[0:2])
df[['first', 'last']] = df.apply(lambda x: splitName(x['name']), axis=1)
です。この文字列操作をnumpy
操作とほぼ同じ速さにするためにできることはありますか?
ありがとうございます!
あなたは上記のパンダ0.8.1以上をお持ちの場合は、 'series.str.splitを()'行うことができる必要がありますように、それが見えます。ここのドキュメント:http://pandas.pydata.org/pandas-docs/stable/basics.html#vectorized-string-methods –