使用索引列表从GroupBy中保留一些组。

你好,StackOverflowers!我有一个pandas DataFrame。

我有一个pandas DataFrame

df = pd.DataFrame({
    'A':[1,1,2,1,3,3,1,6,3,5,1],
    'B':[10,10,300,10,30,40,20,10,30,45,20],
    'C':[20,20,20,20,15,20,15,15,15,15,15],
    'D':[10,20,30,40,80,10,20,50,30,10,70],
    'E':[10,10,10,22,22,3,4,5,9,0,1]
})

然后,我把它分组,在一些列

groups = df.groupby(['A', 'B', 'C'])

我想根据groupby指数对原始数据进行选择过滤。

例如,我想从groupby指数中得到3个随机组合。

有什么想法吗?

解决方案:

而不是沿所有组迭代 len(indices) 时代,并在各自的 indices 值,得到一个组的列表。keys 词典中的 GroupBy.groups,并做单次呼叫 GroupBy.get_group 对于每个指数。

keys = list(groups.groups.keys())
# [(1, 10, 20), (1, 20, 15), (2, 300, 20)...
pd.concat([groups.get_group(keys[i]) for i in indices])

    A   B   C   D   E
6   1  20  15  20   4
10  1  20  15  70   1
5   3  40  20  10   3
4   3  30  15  80  22
8   3  30  15  30   9

给TA打赏
共{{data.count}}人
人已打赏
解决方案

翩翩起舞 创建多个布局

2022-5-12 11:00:14

解决方案

将文件存储在amazon s3中,并向用户提供公共URL。

2022-5-12 11:00:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索