2017-08-23 2 views
2

J'ai trame de données avec 20K lignes et expression similaire àAccélérez appliquer avec l'expression logique

df[‘res’] = df[vnames].apply(lambda q: ((q == 1) | (q == 12)).any(), axis=1) 

Il fonctionne, mais il prend un certain temps.
Existe-t-il un moyen plus efficace d'exécuter ceci?

+0

Vous pouvez simplement faire 'df [ 'VNAMES']. Isin ([1,12])' – EdChum

Répondre

2

Option 1

v = df[vnames].values 
df['res'] = ((v == 1) | (v == 12)).any(1) 
+0

Bien plus en effet –