【发布时间】:2022-02-19 08:16:52
【问题描述】:
我正在寻找一种在 pandas 中在滚动时间窗口内返回特定 value_counts() 的方法。我找到了以下问题 (pandas `value_counts` on a rolling time window),但这并不是我想要的。
如果我有一个如下所示的 DataFrame:
symbol
0 apple
1 apple
2 apple
3 apple
4 cucumber
5 cucumber
6 cucumber
我想要这个输出:
symbol counts
0 apple 1
1 apple 2
2 apple 3
3 apple 4
4 cucumber 1
5 cucumber 2
6 cucumber 3
到目前为止,我正在使用 for 循环,它有效,但对于更大的 DataFrame 来说非常耗时:
for index in df.index:
symbol = df.at[index,'symbol']
df.at[index,'counts'] = df['symbol'].value_counts()[symbol]
有人有更好更快的解决方案吗?
【问题讨论】:
标签: python pandas dataframe rolling-computation