小编yoa*_*aaa的帖子

Python Pandas从Groupby中选择组的随机样本

获取a元素的随机样本的最佳方法是groupby什么?据我所知,a groupby只是一个可迭代的群组.

如果我想选择N = 200元素,我将为迭代执行此操作的标准方法是:

rand = random.sample(data, N)  
Run Code Online (Sandbox Code Playgroud)

如果你尝试上面的数据是'分组',结果列表的元素由于某种原因是元组.

我找到了以下示例,用于随机选择单个键的元素groupby,但这不适用于多键groupby.从,如何按键访问pandas groupby dataframe

创建groupby对象

grouped = df.groupby('some_key')
Run Code Online (Sandbox Code Playgroud)

选择N个数据帧并获取其索引

sampled_df_i = random.sample(grouped.indices, N)
Run Code Online (Sandbox Code Playgroud)

使用groupby对象'get_group'方法获取组

df_list = map(lambda df_i: grouped.get_group(df_i),sampled_df_i)
Run Code Online (Sandbox Code Playgroud)

可选 - 将其全部转换回单个数据框对象

sampled_df = pd.concat(df_list, axis=0, join='outer')
Run Code Online (Sandbox Code Playgroud)

python random group-by pandas

8
推荐指数
1
解决办法
5978
查看次数

标签 统计

group-by ×1

pandas ×1

python ×1

random ×1