【发布时间】:2016-03-28 14:53:33
【问题描述】:
问题:
如何使用 pandas df.groupby() 函数来创建随机选择的组?
示例:
我想将数据帧分组为大小为 n 的随机组,其中 n 对应于给定列中唯一值的数量。
我有一个包含各种列的数据框,包括“id”。有些行具有唯一的 ID,而其他行可能具有相同的 ID。例如:
c1 id c2
0 a 1 4
1 b 2 6
2 c 2 2
3 d 5 7
4 y 9 3
实际上,这个数据框最多可以有 1000 行左右。
我希望能够使用以下标准对该数据框进行分组:
- 每个组最多应包含 n 个唯一 ID
- id 不能出现在多个组中
- 应随机选择给定组中的特定 ID
- 每个 id 都应该出现在一个组中
例如,示例数据框(上图)可能变为:
组1:
c1 id c2
0 a 1 4
4 y 9 3
组2:
c1 id c2
1 b 2 6
2 c 2 2
3 d 5 7
其中 n = 2
感谢您的建议。
【问题讨论】: