我正在尝试为这些数据计算每个滑动窗口中相同ID的数目:
ID
DATE
2017-05-17 15:49:51 s_2
2017-05-17 15:49:52 s_5
2017-05-17 15:49:55 s_2
2017-05-17 15:49:56 s_3
2017-05-17 15:49:58 s_5
2017-05-17 15:49:59 s_5
我试着数一数大小为3的滚动窗口内的相同ID的数量,它们相互重叠。答案应该是这样的:
DATE ID s_2_count s_3_count s_5_count
2017-05-17 15:49:51 s_2 2 0 1
2017-05-17 15:49:52 s_5 1 1 1
2017-05-17 15:49:55 s_2 1 1 1
2017-05-17 15:49:56 s_3 0 1 2
2017-05-17 15:49:58 s_5 NaN NaN NaN
2017-05-17 15:49:59 s_5 NaN NaN NaN
使用
str.get_dummies
、rolling
、sum
、shift
和add_prefix
:输出:
让我们把它分配回数据帧:
或者使用join
输出:
选项2使用pd.交叉表你知道吗
或者使用join
相关问题 更多 >
编程相关推荐