Более быстрый способ группировки с помощью Python Pandas?Python

Программы на Python
Anonymous
Более быстрый способ группировки с помощью Python Pandas?

Сообщение Anonymous »

Как ускорить работу приложения Groupby Apply или как написать его по-другому?

Код: Выделить всё

import numpy as np
import pandas as pd

df = pd.DataFrame({'ID':[1,1,1,1,1,2,2,2,2,2],\
'value':[1,2,np.nan,3,np.nan,1,2,np.nan,4,np.nan]})

result = df.groupby("ID").apply(lambda x: len(x[x['value'].notnull()].index)\
if((len(x[x['value']==1].index)>=1)&\
(len(x[x['value']==4].index)==0)) else 0)
выход:

Код: Выделить всё

Index  0
1      3
2      0
Моя программа сейчас работает очень медленно. Могу ли я сделать это быстрее? Раньше я выполнял фильтрацию перед использованием groupby(), но не вижу простого способа сделать это в этой ситуации.

Подробнее здесь: https://stackoverflow.com/questions/605 ... hon-pandas

Вернуться в «Python»