以变量的经验概率分布对数据帧中的行进行抽样

2024-09-30 16:36:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下问题。在

假设我们有一个只有几个变量的数据帧。Morover one variable(var_A)是一个概率分数,其值范围为0到1。我想从这个数据框中抽取行,这样更有可能选择一个var_a值更高的行,所以我想我必须从var_a的经验分布中提取。我知道如何实现var_a的edf函数,正如它建议的here,但我不知道如何使用这个分布来采样行。在

你能帮我做这个吗?在

谢谢


Tags: 数据函数herevar经验概率variableone
1条回答
网友
1楼 · 发布于 2024-09-30 16:36:16

您可以使用numpy.random.choice以这种方式进行采样:

import numpy as np

num_dists = 4
num_samples = 10
var_A = np.random.uniform(0, 1, num_dists)

# ensure var_A sums to 1
var_A /= np.sum(var_A)

samples = np.random.choice(len(var_A), num_samples, p=var_A)

print('var_A: ', var_A)
print('samples: ', samples)

样本输出:

^{pr2}$

相关问题 更多 >