程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

用Python生成正态分布随机数组

发布于2019-08-07 12:58     阅读(1265)     评论(0)     点赞(0)     收藏(2)


知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

几个函数用来生成、存储、保留生态分布随机数组

import numpy as np
#导入numpy矩阵计算包
import matplotlib.pyplot as plt
#绘图包

global i
i = 1
#声明并初始化全局变量

def genNormalDistributionData(mean, cov, num):
    global i
    #指明使用全局变量i,i用来表示第几次调用该函数
    desc = np.zeros(num, dtype=np.double)+i*1000+num
	#随意生成的数字,用作随机数的id
    i += 1
    data = np.insert(np.random.multivariate_normal(
        mean, cov, num), 2, values=desc, axis=1)
    return np.round(data, 2)
    #生成随机数组并在尾部拼接id列
	#multivariate_normal()函数第一个参数mean是多维正态分布期望的数组,cov是两个维度的协方差矩阵,最后一个是要生成随机数的个数

def saveData(data):
    np.savetxt('data.csv', data, delimiter=',')
    #存储数据

def readData():
    return np.loadtxt('data.csv', delimiter=',')
    %读取数据

if __name__ == "__main__":
    d1 = genNormalDistributionData([2, 2], [[1, 0], [0, 1]], 5)
    d2 = genNormalDistributionData([-2, 2], [[1, 0], [0, 1]], 5)
    d = np.concatenate((d1, d2), axis=0)
    saveData(d)
    plt.scatter(d1[:, 0], d1[:, 1],  marker='o', c='r')
    plt.scatter(d2[:, 0], d2[:, 1],  marker='^', c='b')
    plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37


所属网站分类: 技术文章 > 博客

作者:怪兽爸爸

链接:https://www.pythonheidong.com/blog/article/11090/428a5d161f911b26e739/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

0 0
收藏该文
已收藏

评论内容:(最多支持255个字符)