嗨,我正在尝试计算端口到地址之间的不同对值。你知道吗
基本上就是这个场景,我希望滚动计数是当行进入窗口时端口和地址值出现的次数。你知道吗
Count distinct strings in rolling window using pandas + python (with a condition)
然而,问题的答案是不正确的,没有后续的解决办法。你知道吗
假设我有桌子
ID PORT ADDRESS
1 21 ad3
2 22 ad1
3 23 ad2
4 23 ad2
5 21 ad4
6 22 ad1
7 22 ad1
8 21 ad4
例如,如果我的窗口大小为3,我想要的输出将是
ID PORT ADDRESS rolling_count
1 21 ad3 1
2 22 ad1 1
3 23 ad2 1
4 23 ad2 2
5 21 ad4 1
6 22 ad1 1
7 22 ad1 2
8 21 ad4 1
链接后的答案似乎不仅仅在窗口内计算
df['rolling_count']=df.groupby('ADDRESS').PORT.apply(lambda x : pd.Series(x).rolling(3,min_periods=1).apply(lambda y: len(set(y))))
是我尝试使用的,但不正确。这就是它的输出
ID PORT ADDRESS rolling_count
1 21 ad3 1
2 22 ad1 1
3 23 ad2 1
4 23 ad2 1
5 21 ad4 1
6 22 ad1 1
7 22 ad1 1
8 21 ad4 1
任何反馈都是有用的。你知道吗
对于您的应用程序,您可以选择按顺序计算端口和地址的重复值 样品测向
出去
滚动窗口实际上保持(windowlength-1)重复窗口的顺序w.r.t窗口长度你选择,这导致计数值在不同的地方。你知道吗
输出:
相关问题 更多 >
编程相关推荐