Supongamos que tengo un DataFrame
con 100k filas y una columna name
. Me gustaría dividir este nombre en nombre y apellido con la mayor eficacia posible. Mi método actual es,Aplicación rápida de operaciones de cadena en un panda DataFrame
def splitName(name):
return pandas.Series(name.split()[0:2])
df[['first', 'last']] = df.apply(lambda x: splitName(x['name']), axis=1)
Desafortunadamente, DataFrame.apply
es muy, muy lento. ¿Hay algo que pueda hacer para que esta operación de cadena sea tan rápida como una operación numpy
?
Gracias!
Si usted tiene pandas 0.8.1 o superior, parece que usted debería ser capaz de hacer 'series.str.split()'. Documentos aquí: http://pandas.pydata.org/pandas-docs/stable/basics.html#vectorized-string-methods –