假设我有一个DataFrame100k行和一列name.我想尽可能有效地将这个名字分成名字和姓氏.我目前的方法是,
def splitName(name):
return pandas.Series(name.split()[0:2])
df[['first', 'last']] = df.apply(lambda x: splitName(x['name']), axis=1)
Run Code Online (Sandbox Code Playgroud)
不幸的DataFrame.apply是,真的很慢.有什么办法让这个字符串操作几乎和操作一样快numpy吗?
谢谢!
Wes*_*ney 21
尝试(需要pandas> = 0.8.1):
splits = x['name'].split()
df['first'] = splits.str[0]
df['last'] = splits.str[1]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13228 次 |
| 最近记录: |