为了账号安全,请及时绑定邮箱和手机立即绑定

使用 scipy.stats.rv_histogram() 函数从二维直方图中采样

使用 scipy.stats.rv_histogram() 函数从二维直方图中采样

喵喔喔 2021-10-19 16:47:27
scipy 的函数rv_histogram非常有用,如果我有一个经验分布,该分布由我想从中采样的直方图给出。因此,我可以对新数据进行采样,如下面的最小示例所示:import scipy.statsimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsimport pandas as pdx = np.array(range(2,8))hist_1d = pd.DataFrame(np.array([11., 46., 158., 75., 90., 14.]), index=x)plt.plot(x + 0.5, hist_1d.values)dist = scipy.stats.rv_histogram((hist_1d.values.ravel(), np.array(range(2,9))))plt.hist(dist.rvs(size=500), bins=len(x))现在我想对这个最小示例中给出的 2D 分布执行相同的操作:hist_2d = pd.DataFrame(np.array([[129, 162, 178, 182, 182, 182],                   [122, 163, 185, 191, 189, 185],                   [115, 164, 192, 200, 197, 189],                   [ 94, 136, 158, 162, 157, 152],                   [ 74, 108, 124, 125, 118, 116],                   [ 53,  80,  90,  88,  79,  80]]),                  index=range(2,8), columns=range(8,14))sns.heatmap(hist_2d)但是,rv_histogram函数认为只获取一维数据 - 或者至少我不知道如何传递两个 bin 边界向量。这可能吗,或者 Python 中是否有类似的功能?
查看完整描述

1 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

是的,整个rv_generic层次结构只是一维的,它包括rv_histogram.


查看完整回答
反对 回复 2021-10-19
  • 1 回答
  • 0 关注
  • 341 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号