Векторизация функции np.where в pandas кадре данных - PullRequest
0 голосов
/ 05 мая 2020

У меня есть pandas фрейм данных, df. Столбец group_ids состоит из numpy массивов (для каждой строки). Я пытаюсь создать новый столбец, который найдет количество вхождений group_ids в массиве numpy id_list.

Следующий код работает, хотя для больших наборов данных он работает медленно:

df['sum_binary'] = ''
for i in range(0,len(df)):
    df['sum_binary'][i] = sum(np.where(np.in1d(df['group_ids'][i], id_list),1,0))

Как я могу векторизовать это? Я безуспешно пытался использовать pandas .where, например:

df['1'] = 1
df['sum_binary'] = (df['1']).where(np.in1d(df['group_ids'], id_list),0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...