12

DataFrame100k 行と列があるとしますname。この名前をできるだけ効率的に姓名に分割したいと思います。私の現在の方法は、

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ますか?

ありがとう!

4

1 に答える 1

23

試してください(パンダ> = 0.8.1が必要です):

splits = x['name'].split()
df['first'] = splits.str[0]
df['last'] = splits.str[1]
于 2012-10-11T20:03:34.420 に答える