我有一列5毫米行的数据框。我想通过将每200行汇总为一(25k x 200 = 5 000 000)来减少到25k行。该行值应用于所有200行中最频繁使用的类标签。
示例:
import pandas as pd
df = pd.DataFrame({'a' :['s','s','t','s','s','t','s','t','t','w','w','t','w','s','d']})
print(df)
Out[60]:
a
0 s
1 s
2 t
3 s
4 s
5 t
6 s
7 t
8 t
9 w
10 w
11 t
12 w
13 s
14 w
我想做这样的事情(一个例子):
my_rolling_apply(my_column , widow_size= 3, function= majority_voted_class)
要获得输出:
Out[2]:
a
0 s
1 s
2 t
3 w
4 w
问题是如何做到这一点?有什么功能可以处理此任务吗?
更新:
这里唯一的问题是我需要控制组的大小。并且分组应输出大小相等的组,以在每个组中分配最常见的标签。