# 导包
import numpy as np

numpy.array

nparr = np.array([i for i in range(10)])
nparr # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

zeros 

  .zeros(shape=(x,y), dtype=None, order='C'):返回来一个给定形状和类型的用 0 填充的数组;

ones

  .ones(shape=(x,y), dtype=None, order='C'):返回来一个给定形状和类型的用 1 填充的数组;

full

  .full(fill_value=数字, shape=(x,y)):返回来一个给定形状用 指定常数 填充的数组;

eye

  .eye(N,M =无,k = 0,dtype = None,order ='C'):返回一个二维数组,其中对角线为1,零点为零,默认单位矩阵

    shape: 数据尺寸、形状

    dtype: 数据类型,可选参数,默认numpy.float64 

    order: 可选参数,C代表与c语言类似,行优先;F代表列优先

    fill_value: 填充的常数

    N: int,输出中的行数

    M: int,可选参数,输出中的列数。如果无,默认为Ñ。

    k: int,可选,对角线的索引:0(默认值)指的是主对角线,正值指的是上对角线,负值指的是下对角线

import numpy as np
# 建立一维数组
np.zeros(10) # array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
np.ones(10) # array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
np.zeros(10, dtype=float) # array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) # 建立一个矩阵(二维数组)
np.zeros((3, 5)) # 参数全为0的浮点型
np.zeros(shape=(3, 5), dtype=int)
np.full((3, 5), 666)
np.eye(3, dtype=int)
np.eye(3, k=1)

arange

  •   .arange(start, stop, step, dtype = None):生成数组  
  •   arange -->  数
  •   range  -->  list

    start: 开始位置,数字,可选项,默认起始值为0
    stop: 停止位置,数字
    step: 步长,数字,可选项, 默认步长为1,如果指定了step,则还必须给出start。
    dtype: 输出数组的类型。 如果未给出dtype,则从其他输入参数推断数据类型

import numpy as np
[i for i in range(0, 20, 2)] # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
np.arange(0, 20, 2) # array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
np.arange(0, 1, 0.2) # array([0. , 0.2, 0.4, 0.6, 0.8])
np.arange(10) # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

linspace

  .linspace(start, stop, num=50,endpoint=True, retstep=True, dtype = None):构造等差数列数组

    start:开始数值

    stop:结束数值

    num:默认是50个样本点(数据),为正整数。

    endpoint:默认为True,如果改为Fasle取不到右端点。

    retstep:步长,如第一个数据和第第二个数据之间的距离。

    dtype:可以设置数值类型,默认numpy.float64

import numpy as np
np.linspace(2, 3, num=5) # array([2. , 2.25, 2.5 , 2.75, 3. ])
np.linspace(2, 3, 5, retstep=True) # (array([2. , 2.25, 2.5 , 2.75, 3. ]), 0.25)
np.linspace(2, 3, 5, endpoint=False, retstep=True) # (array([2. , 2.2, 2.4, 2.6, 2.8]), 0.2)

random模块

  随机抽样

rand

  .random.rand(d0, d1, ... , dn):均匀分布,生成随机浮点数或N维浮点数组∈[0, 1)

import numpy as np
# 无参数
np.random.rand() # 随机生成一个浮点数:0.5693260707056654 # 一个参数
np.random.rand(5) #生成一个形状为5的一维数组
"""
array([0.03033044, 0.77342689, 0.05433217, 0.09637677, 0.78388356])
""" #两个参数
np.random.rand(2,3) #生成2x3的二维数组
"""
array([[0.62207475, 0.76152107, 0.8322783 ],
[0.9625673 , 0.14159552, 0.04631563]])
""" # 三个参数
np.random.rand(2,3,4) # 生成2个3x4的二维数组的三维数组
"""
array([[[0.69515825, 0.18253848, 0.94369687, 0.75510563],
[0.96469044, 0.10572931, 0.57167311, 0.26631619],
[0.25474511, 0.93999817, 0.49682046, 0.34514234]], [[0.59947499, 0.72308947, 0.80828931, 0.23145396],
[0.21023288, 0.2578903 , 0.30873597, 0.57619749],
[0.60353256, 0.02622591, 0.6148662 , 0.26888455]]])
"""
# 注意:参数必须是整数,不能是元组

randn

  .random.randn(d0, d1, ... , dn):标准正态分布生成随机浮点数或N维浮点数组∈(-∞, +∞)

np.random.randn(2,3)
"""
array([[ 1.20815015, -1.71343109, -0.09987136],
[-0.33742606, 0.77209376, 0.18604608]])
"""

randint

  .random.randint(low, high=None, size=None, dtype='l'):离散均匀分布,生成整数或N维整数数组

  high ≠ None时,[low,high)

  high = None时,[0,low)

import numpy as np
# 生成一个[0,2)之间随机整数
np.random.randint(2) # # 生成形状为10的一维整数数组 --> [1,10)随机整数
np.random.randint(1,10, size=10) # array([2, 6, 1, 4, 2, 4, 5, 3, 9, 9]) #生成一个2x3整数数组 --> [2,6)随机整数
np.random.randint(2,6,(2,3)) # np.random.randint(2,6,size=(2,3))
"""
array([[4, 3, 3],
[3, 2, 5]])
"""

seed

  .random.seed(num):具有预见性:如果使用相同的num,则每次生成的随机数都相同。当参数不同或者无参数时,作用与numpy.random.rand()函数相同,即多次生成随机数且每次生成的随机数都不同。

详情请参考:https://www.cnblogs.com/lliuye/p/8551660.html

random

  .random.random(size=None):返回随机的浮点数∈[0, 1)

import numpy as np 

np.random.random(3)
"""
array([0.59252408, 0.37882179, 0.61683128])
""" np.random.random((3,4))
"""
array([[0.51443445, 0.26071378, 0.17125182, 0.67260413],
[0.11513209, 0.35772957, 0.79621782, 0.29822459],
[0.19795992, 0.76367099, 0.25980888, 0.22451909]])
"""

normal

  .random.normal(loc=0.0, scale=1.0, size=None):均值为loc,标准差为scale的正态分布∈(-∞, +∞)

import numpy as np
ran = np.random.normal(0, 1, (3, 5))
ran
"""
array([[ 1.85322786, 1.13089185, -0.55186512, -1.58926526, -0.00656168],
[ 0.44077735, -0.1599656 , -0.2450492 , 1.71447564, -0.1603678 ],
[-0.0495362 , 0.30244281, 1.62018096, 0.31465292, 1.99379836]])
""" """
均值:μ
方差:σ^2=(∑▒〖(X-μ)〗^2 )/N
标准差:s=√(σ^2 )
协方差:σ^2=(∑▒〖(X-μ)〗^2 )/N-1
"""
# 均值
ran.mean()
# 方差
ran.var()
# 标准差
ran.std(ddof=1)
# 协方差
ran.cov()

permutation

  .random.permutation(x):随机打乱x中的元素。若x是整数,则打乱arange(x),若x是一个数组,则将copy(x)的第一位索引打乱,意思是先复制x,对副本进行打乱处理,打乱只针对数组的第一维

np.random.permutation(5)  # array([2, 1, 4, 3, 0])
np.random.permutation(5) # array([4, 3, 0, 2, 1])
np.random.permutation([[1,2,3],[4,5,6]])
"""
array([[1, 2, 3],
[4, 5, 6]])
"""
np.random.permutation([[1,2,3],[4,5,6]])
"""
array([[4, 5, 6],
[1, 2, 3]])
"""

shuffle

  .random.shuffle(x):与permutation类似,随机打乱x中的元素。若x是整数,则打乱arange(x),但是shuffle会对x进行修改

a = np.arange(5)
a # array([0, 1, 2, 3, 4])
np.random.shuffle(a)
a # array([2, 4, 3, 1, 0])

choice

  .random.choice(a, size=None, replace=True, p=None): 从a(数组)中选取size(维度)大小的随机数,replace=True表示可重复抽取,p是a中每个数出现的概率,若a是整数,则a代表的数组是arange(a)

np.random.choice(5)  #
# 随机在2或4中选一个
np.random.choice([2, 4]) #
# 选取2的概率为1,选取3的概率为0
np.random.choice([2, 3], p=[1, 0]) #
# 选取3的概率为0,选取5的概率为1
np.random.choice([3, 5], p=[0, 1]) #
# 从0-4随机抽取5个数,可重复抽取
np.random.choice(5, 5) # array([3, 0, 1, 3, 0])
# 从0-4随机抽取5个数,不可重复抽取
np.random.choice(5, 5, False) # rray([3, 0, 1, 4, 2])
np.random.choice(100, (2, 3, 5), False)
"""
array([[[29, 72, 13, 61, 45],
[28, 86, 74, 52, 0],
[76, 77, 60, 48, 12]], [[85, 99, 90, 46, 79],
[64, 3, 57, 83, 87],
[17, 59, 7, 16, 96]]])
"""

bytes

  .random.bytes(length):生成随机字节

np.random.bytes(1)  # b'\xd4'
np.random.bytes(2) # b'\x9b\x8a'

uniform

  .random.uniform(low,high,size):从一个均匀分布 [low,high) 中随机采样

  low:采样下界,float类型,默认值为0;
  high:采样上界,float类型,默认值为1;
  size:输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出m*n*k个样本,缺省时输出1个值。

  返回值:ndarray类型,其形状和参数size中描述一致

import matplotlib.pyplot as plt
import numpy as np s = np.random.uniform(0,1,1200) # 产生1200个[0,1)的数
count, bins, ignored = plt.hist(s, 12, normed=True)
"""
hist原型:
matplotlib.pyplot.hist(x, bins=10, range=None, normed=False, weights=None,
cumulative=False, bottom=None, histtype='bar', align='mid',
orientation='vertical',rwidth=None, log=False, color=None, label=None,
stacked=False, hold=None,data=None,**kwargs)
输入参数很多,具体查看matplotlib.org,本例中用到3个参数,分别表示:s数据源,bins=12表示bin
的个数,即画多少条条状图,normed表示是否归一化,每条条状图y坐标为n/(len(x)`dbin),整个条状图积分值为1
输出:count表示数组,长度为bins,里面保存的是每个条状图的纵坐标值
bins:数组,长度为bins+1,里面保存的是所有条状图的横坐标,即边缘位置
ignored: patches,即附加参数,列表或列表的列表,本例中没有用到。
"""
plt.plot(bins, np.ones_like(bins), linewidth=2, color='r')
plt.show()

创建 numpy.array的更多相关文章

  1. python numpy array 的一些问题

    1 将list转换成array 如果list的嵌套数组是不规整的,如 a = [[1,2], [3,4,5]] 则a = numpy.array(a)之后 a的type是ndarray,但是a中得元素 ...

  2. Python Numpy Array

    Numpy 是Python中数据科学中的核心组件,它给我们提供了多维度高性能数组对象. Arrays Numpy.array   dtype 变量 dtype变量,用来存放数据类型, 创建数组时可以同 ...

  3. 【笔记】numpy.array的常用基本运算以及对数据的操作

    numpy.array的基本运算以及对数据的操作 设置一个问题,例如 这种只需要基本的运算就可以实现 类似的 numpy对向量的运算进行了优化,速度是相当快的,这种被称为universal funct ...

  4. 【笔记】numpy.array基础(1)

    numpy.array基础 使用numpy.__version__可以检查numpy的版本 当然也可以直接使用命令行检查numpy版本 也可以用来简化引用,使用as python list特点 num ...

  5. numpy.array

    关于python中的二维数组,主要有list和numpy.array两种. 好吧,其实还有matrices,但它必须是2维的,而numpy arrays (ndarrays) 可以是多维的. 我们主要 ...

  6. gensim与numpy array 互转

    目的 将gensim输出的格式转化为numpy array格式,支持作为scikit-learn,tensorflow的输入 实施 使用nltk库的停用词和网上收集的资料整合成一份新的停用词表,用来过 ...

  7. 找出numpy array数组的最值及其索引

    在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引 但在numpy中的array没有index方法,取而代之的是where ...

  8. 「Python」Convert map object to numpy array in python 3

    转自Stackoverflow.备忘用. Question In Python 2 I could do the following: import numpy as np f = lambda x: ...

  9. python numpy array 与matrix 乘方

    python numpy array 与matrix 乘方 编程语言 waitig 1年前 (2017-04-18) 1272℃ 百度已收录 0评论 数组array 的乘方(**为乘方运算符)是每个元 ...

随机推荐

  1. 安装sublime插件安装不上遇到的各种坑

    为了学习VUE , 发现没有高亮代码, 百度原来需要安装插件,安装过程中遇到了各种坑,记录下来避免大家踩坑, 首先用代码安装快捷键  ctrl+`   粘贴代码 import urllib.reque ...

  2. F#周报2019年第41期

    新闻 .NET架构指南 美妙的WebSharper:学术刊物 .NET Core 3.0中Blazor Server的方案与性能 Mono 6.4.0发布说明 CapitolFSharp召集发言人 视 ...

  3. python编程基础之二十

    字符串的其他常用方法: ord(char)  # 返回char字符对应的码值,可以是中文字符 chr(x)  # 输入一个unicode码,返回对应的字符 eval(str)  # 将str 中的内容 ...

  4. BS结构的一个注册用户的功能

    注册用户功能   学了Java一段时间,就想折腾折腾,就做了一个注册的功能,用HTML写了一个网页上的比较简陋的界面,用Java做了一个后台简陋的服务器处理数据,最后将数据存储到数据库中. 注册界面 ...

  5. SQL SERVER数据库内,需要序列号进行排序时,排序方法

    举例如下: SELECT ROW_NUMBER()OVER(ORDER BY (SELECT 0)) AS ROWNUM,* FROM YXHIS2018..TBMZGHMX201801 --不排序S ...

  6. CH3801Rainbow的信号

    Description Freda发明了传呼机之后,rainbow进一步改进了传呼机发送信息所使用的信号.由于现在是数字.信息时代,rainbow发明的信号用N个自然数表示.为了避免两个人的对话被大坏 ...

  7. git基础命令详解

    一些必须要知道的概念 git的三个工作区域:工作目录.暂存区.git仓库. 工作目录:其实就是本地文件磁盘上的文件或目录: 暂存区:是一个文件,保存了下次提交的文件列表信息,一般在git仓库目录中: ...

  8. 服务器端 SOCKET 编程

    使用 Socket 的程序在使用 Socket 之前必须调用 WSAStartup() 函数, 此函数在应用程序中用来初始化 Windows Socket DLL, 只有此函数调用成功后,应用程序才可 ...

  9. firefox 实用插件推荐和使用

    1.firefox安装插件 2.firebug 3.Cookie editor 4.Tamper data 5.user agent switcher 6.hackbar 7.httpfox抓包工具 ...

  10. XSS中的同源策略和跨域问题

    转自 https://www.cnblogs.com/chaoyuehedy/p/5556557.html 1 同源策略 所谓同源策略,指的是浏览器对不同源的脚本或者文本的访问方式进行的限制.比如源a ...