python - 从两个变量创建和采样联合分布
问题描述
我有一个问题一直困扰着我。
我有一个熊猫数据框,其中有两列对应于每行a
的b
系数(它们不是独立的):
a b
0 13.967158 2.370449
1 12.375649 2.199846
2 12.005615 2.268646
3 12.030142 1.542835
4 12.119529 1.570510
... ... ...
63 12.215212 1.677631
64 12.221597 1.483855
65 12.758342 2.311847
66 11.712199 2.505323
67 12.393513 1.402272
这些可以绘制为:
由此,我需要从a
和b
变量的联合分布中生成随机样本,但我不知道该怎么做。我尝试从这些变量中的每一个的正态分布中生成随机样本,使用np.random.normal(mean_variable, sd_variable, 1000)
. 但是,在创建这些值之后,我不确定如何加入它们。在这方面的任何想法都会非常有用。问候
解决方案
您需要对多元正态分布进行采样的函数。此函数需要一个一维均值数组和一个二维协方差数组,这两者都可以从您的数据帧中轻松计算出来:
numpy.random.multivariate_normal(df.mean(), df.cov())
#array([11.69993186, 1.64400885])
推荐阅读
- javascript - 如何通过 onKeyDown 事件让 React.js TypeScript 接受“event.target”上的“parentElement”?
- css - Arial 字体看起来从 HTML 到 mpdf 转换不同
- ms-access - 在 Ms Access Form 的文本框中调用先前的值输入
- spring-boot - 如何将 OAuth 2.0 不记名令牌添加到 WebClient
- git - 使用特定的 subrepo 分支创建顶级 repo 分支
- react-native - 在 iOS 中打开模式时,“react-native-loading-spinner-overlay”不起作用
- python - 文件名、目录名或卷标语法不正确。面料.api.local
- python - 我怎样才能得到文件python中第一行之后的所有行?
- python - 如何用sql server中的NULL替换Dataframe中的nan?
- c# - 在 MassTransit 中,如果我为预定消息设置 TTL,是否包括初始延迟?