При агрегировании данных в Pandas я могу возвращать такие строки, как «count», «sum», «mean» и т. Д. Для агрегирования данных.Есть ли функции, которые я могу использовать вместо строк, которые обеспечивают эквивалентное поведение.Например, если я попытаюсь использовать pd.Series.Count
вместо count, среда выполнения получит значительный удар.
import pandas as pd
import numpy as np
n = 10000000
df_nan = pd.DataFrame({"a": np.random.randint(0, 100, n*2),
"b": np.linspace(0, 100, n).tolist() + [None]*n})
%timeit df_nan.groupby("a").agg({"b": pd.Series.count})
1.63 s ± 28 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
%timeit df_nan.groupby("a").agg({"b": "count"})
479 ms ± 18.1 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Есть идеи, какую функцию я мог бы вернуть вместо?