学习笔记——Python Numpy初体验

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy是用于数据科学计算的基础模块。

-数组的属性 存储单一数据类型

学习笔记——Python Numpy初体验_第1张图片

- 创建数组

  • array进行创建数组
    numpy.array(object, dtype=None, copy=True, order=‘K’, subok=False, ndmin=0)
    参数说明:
    object—数组,dtype—数据类型,ndmin—最小维度
    order–指定阵列的内存布局。‘C‘表按行,’F‘按列,’A‘原来顺序,’K‘元素在内存中出现的顺序
import numpy as np
#创建一维数组
a=np.array([1,2,3,4])
print(a)

#创建二维数组
b=np.array([1,2,3],[4,5,6])
print(b)
  • arrange创建数组
    numpy.arange(start, stop, step, dtype = None)
    参数说明:
    start —— 开始位置,数字,可选项,默认起始值为0
    stop —— 停止位置,数字
    step —— 步长,数字,可选项, 默认步长为1,如果指定了step,则必须给出start。
    dtype —— 输出数组的类型。 如果未给出dtype,则从其他输入参数推断数据类型。
    注意:半开区间,返回ndarray
    # 规定起始位置
    在这里插入图片描述#使用默认的起始位置
    在这里插入图片描述

  • 随机数创建数组
    np.random.random() #创建由[0.0,1.0)随机小数组成的数组
    #一维数组的创建
    在这里插入图片描述#二维数组的创建
    学习笔记——Python Numpy初体验_第2张图片np.random.randint(low, high=None, size=None, dtype=‘l’)
    参数说明:
    low: int 生成的数值最低要大于等于low(hign = None时,生成的数值要在[0, low)区间内)
    high: int (可选) 如果使用这个值,则生成的数值在[low, high)区间。
    size: int or tuple of ints(可选)输出随机数的尺寸,比如size = (m * n* k)则输出同规模即m * n* k个随机数。默认是None的,仅仅返回满足要求的单一随机数。
    dtype: dtype(可选):输出的格式。如int64、int等等
    在这里插入图片描述学习笔记——Python Numpy初体验_第3张图片np.random.randn(d0,d1,…,dn)

  • randn函数返回一个或一组样本,具有标准正态分布。

  • dn表格每个维度

  • 返回值为指定维度的array
    #当没有参数的时候返回单个数据
    在这里插入图片描述#给定维度–返回一个或一组样本,服从标准正态分布
    学习笔记——Python Numpy初体验_第4张图片numpy.random.normal(loc=0,scale=1e-2,size=shape)
    参数说明:

  • loc(float):正态分布的均值(期望),对应着这个分布的中心。loc=0说明这一个以Y轴为对称轴的正态分布,默认loc=0.0

  • scale(float):正态分布的标准差,对应分布的宽度,scale越大,正态分布的曲线越矮胖,scale越小,曲线越高瘦。默认scale=1.0

  • size(int 或者整数元组):输出的值赋在shape里,默认为None。

其他方式创建数组
1、np.zeros(shape,dtype=float,order=‘C’) #创建指定大小的数组,用0来填充
学习笔记——Python Numpy初体验_第5张图片2、np.ones与np.zeros差不多,用1来填充
学习笔记——Python Numpy初体验_第6张图片3、np.empty 用之前内存的值来填充
学习笔记——Python Numpy初体验_第7张图片4、np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) #创建一个一维数组,数组是一个等差数列构成的
参数说明:
start:返回样本数据开始点
stop:返回样本数据结束点
num:生成的样本数据量,默认为50
endpoint:True则包含stop;False则不包含stop
retstep:If True, return (samples, step), where step is the spacing between samples.(即如果为True则结果会给出数据间隔)
dtype:输出数组类型
axis:0(默认)或-1
学习笔记——Python Numpy初体验_第8张图片

5、np.identity(n,dtype=None) #创建单位矩阵
参数说明:
n 表示创建NxN的单位矩阵
dtype 表示矩阵数据的类型
只能创建方阵
e.g:创建4*4的单位矩阵
学习笔记——Python Numpy初体验_第9张图片6、np.eye(N,M=None,k=0,dtype=,order=‘C’)
参数说明:
N表示行数,M表示列数,如果没有赋值,则默认为N
k表示对角线下标,默认为0表示主对角线,负数表示低对角线,正数表示高对角线
dtype表示数据的类型
学习笔记——Python Numpy初体验_第10张图片

-array的合并与分割

  • np.vstack() 垂直方向合并
    学习笔记——Python Numpy初体验_第11张图片

  • np.hstack()水平方向合并
    学习笔记——Python Numpy初体验_第12张图片

  • np.concatenate()可以实现行/列的合并,通过axis进行指定
    学习笔记——Python Numpy初体验_第13张图片

  • np.split(ary, indices_or_sections, axis=0) :把一个数组从左到右按顺序切分,只能进行均等分割,不等量会报错
    学习笔记——Python Numpy初体验_第14张图片
    学习笔记——Python Numpy初体验_第15张图片
    按位置分割:
    在这里插入图片描述

  • np.array_split()可以进行不等量的分割
    学习笔记——Python Numpy初体验_第16张图片

使用np.split()进行不等量分割会报错
学习笔记——Python Numpy初体验_第17张图片

-Copy&deep Copy

学习笔记——Python Numpy初体验_第18张图片
在Numpy中,使用b=a,会使得a,b相关联,即改变其中一个,另一个也会跟着改变。如果只想复制a的内容而不想两者相关联,可以用a.copy()
学习笔记——Python Numpy初体验_第19张图片

-函数

  • 数学函数
    学习笔记——Python Numpy初体验_第20张图片

  • 舍入函数
    学习笔记——Python Numpy初体验_第21张图片

  • 运算函数
    学习笔记——Python Numpy初体验_第22张图片
    学习笔记——Python Numpy初体验_第23张图片

  • 统计函数
    学习笔记——Python Numpy初体验_第24张图片

你可能感兴趣的:(学习笔记——Python Numpy初体验)