您可以找到一个小组的最大人数
max_size = frame['class'].value_counts().max()
在您的示例中,该值等于8。对于每个组,您都可以使用替换
max_size -len(group_size)元素进行采样。这样,如果将它们连接到原始Dataframe,它们的大小将相同,并且将保留原始行。
lst = [frame]for class_index, group in frame.groupby('class'): lst.append(group.sample(max_size-len(group), replace=True))frame_new = pd.concat(lst)
您可以使用它
max_size-len(group),也可以添加一些噪音,因为这会使所有组的大小相等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)