假设我们有一个DataFrame,它只包含抛硬币N次的结果。
outcome
0 H
1 T
2 H
3 H
4 H
5 T
6 H
对于我们的例子,让我们假设我们想要检查一个3的滑动窗口,并且我们想要计算每个窗口(保留顺序)在数据集中出现的次数。
数据集中3的滑动窗口为:
- H-T-H
- T-H-H
- H-H-H
- H-H-T
- H-T-H
因此,价值计算如下:
H-T-H 2
T-H-H 1
H-H-H 1
H-H-T 1
我曾想过将3个滑动行连接在一起,创建字符串表示的窗口,然后计算其中的值。这是一种有效的方法吗?还是有一种更以Pandas为导向的方式?
2条答案
按热度按时间a64a0gku1#
您的方法是有效的,但对于大型数组可能效率不高,因为字符串连接/聚合的代价很高。
您可以在这里使用numpy从数据的类似布尔方面获益:
输出:
mo49yndu2#
试试这个: