gpt4 book ai didi

python - 来自数据框的平衡行样本,带有给定分类目标列的 Pandas

转载 作者:行者123 更新时间:2023-12-04 04:19:07 26 4
gpt4 key购买 nike

给定一个数据框,我的目标是对行进行采样,以使一列中的值尽可能平衡。
假设我在下面有一个数据框,样本大小是 3目标列是 c

a | b | c

1 | 2 | 0
3 | 4 | 0
5 | 6 | 1
7 | 8 | 2
9 | 10| 2
11| 12| 2

可能的样本之一是
a | b | c

1 | 2 | 0
5 | 6 | 1
7 | 8 | 2

如果样本大小不是唯一类数量的倍数,则可以在 1 个左右的项目中存在差异。

我将如何在 Pandas 中解决这个问题?

编辑:提供的解决方案在答案中对我有用

最佳答案

我首先为 c 列的每个唯一值生成样本大小,以使其平衡。余数分布在前几个元素上

unique_values = df['c'].unique()
sample_sizes = [(k//len(df.columns))] * len(unique_values)
i = 0
while i < k%len(df.columns):
sample_sizes[i]+= 1
i= I+1

该位根据生成的样本大小生成样本
df2= pd.concat([df.loc[df['c']  == unique_values[i]].sample() for i in range(len(sample_sizes)) for j in range(sample_sizes[i])])

关于python - 来自数据框的平衡行样本,带有给定分类目标列的 Pandas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59848816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com