我有兴趣根据 B 列中条目的频率将该数据帧分成 20 个较小的数据帧。B 具有数字条目,其中一些条目重复多次,如下所示。
A (index) B (Column of interest)
0 1
1 2
2 2
3 2
4 3
... ...
25643 5238
25644 5238
25645 5238
25646 5238
25647 5238
我希望每个频率都有一个数据框:1-10、11-20、21-30、....、191-200。意思是,1-10 数据帧包含 B 中在该数据帧中出现 1 到 10 次的所有条目。同样,11-20 数据帧包含在整个数据帧中出现 11 次和 20 次的所有条目。
最后,我应该有 20 个数据帧,所有这些数据帧都分割了这个主数据帧。
我所能做的就是使用以下代码从 B 列中找到与这些 freeuqncies 相对应的所需条目中的不同数量的条目:
df.loc[(df['B'] > 0) & (df['B'] < 11)]
df.loc[(df['B'] > 10) & (df['B'] < 21)]
...
df.loc[df['B'] > 190) & (df['B'] < 201)
我一直在考虑使用该groupby()函数,但是,我还没有找到一种根据频率对列条目进行分组的方法。
任何帮助表示赞赏!
慕容708150
相关分类