我有以下数据:
Out[6]:
Src Dst Port Application Start Date
0 0.0.0.0 1 1 1 2016-10-20 2016-10-20
1 00:00:0C:9F:F0:64 10 1 1 2016-10-20 2016-10-20
2 00:00:0C:9F:F0:65 3 1 1 2016-10-20 2016-10-20
3 00:00:0C:9F:F0:66 10 1 1 2016-10-20 2016-10-20
4 00:00:0C:9F:F0:67 42 1 1 2016-10-20 2016-10-20
In [7]: df.apply(lambda x: x.nunique())
Out[7]:
Src 791215
Dst 2599
Port 1
Application 44
Start 335
Date 15
dtype: int64
我想知道每个来源每天都有的唯一值的数量。
我写:
df_day = df.groupby(['Src', 'Date'], as_index=False).apply(lambda x: x.apply(lambda x: x.nunique()))
但它非常慢(它永远运行)。组的数量是安静的大791215 * 15
有什么办法可以加快这个计算速度吗?