numpy常用库函数介绍

我们为什么要学习 Numpy库?

我们在学习Python的过程中,总会发现经常要使用Numpy模块,比如机器学习Tensorflow中,会使用Numpy模块进行数据处理,

事实上,numpy 的数据组织结构,尤其是数组(numpy.ndarray),几乎已经成为所有数据处理与可视化模块的标准数据结构了(这一点,类似于在机器学习领域 python 几乎已经成为首选工具语言)。越来越多的基于 python 的科学和数学软件包使用 numpy 数组,虽然这些工具通常都支持 python 的原生数组作为参数,但它们在处理之前会还是会将输入的数组转换为 numpy 的数组,而且也通常输出为 numpy 数组。在 python 的圈子里,numpy 的重要性和普遍性日趋增强。换句话说,为了高效地使用当今科学/数学基于 python 的工具(大部分的科学计算工具),你只知道如何使用 python 的原生数组类型是不够的,还需要知道如何使用 numpy 数组。

 

Numpy库常用函数的介绍

一、创建数组

numpy.array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)
numpy.empty(shape, dtype=float, order='C')
numpy.zeros(shape, dtype=float, order='C')
numpy.ones(shape, dtype=float, order='C')
numpy.eye(N, M=None, k=0, dtype=float, order='C')
>>> import numpy as np
>>>> np.array([1, 2, 3])
array([1, 2, 3])
>>> np.empty((2, 3))
array([[2.12199579e-314, 6.36598737e-314, 1.06099790e-313],
       [1.48539705e-313, 1.90979621e-313, 2.33419537e-313]])
>>> np.zeros(2)
array([0., 0.])
>>> np.ones(2)
array([1., 1.])
>>> np.eye(3)
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])

 二、随机数

numpy.random.random(size=None)
#产生随机数,形状结构为size,
np.random.randn(d0,d1,d2……dn)   
#产生标准正态分布是以0为均数、以1为标准差的正态分布,记为N(0,1)的随机数,d0,d1...dn为随机数的
维数
np.random.rand(d0,d1,d2……dn)
#产生0,1均匀分布的随机数,d0,d1...dn为随机数的为随机数的维数

numpy.random.randint(low, high=None, size=None, dtype=’l’)
#产生随机整数,最小的为low,最大的为high,size为shape 形状结构
import numpy as np

print(np.random.random([2,3])) #shape为[2,3]的随机数
print(np.random.randn(3,4)) #shape为 3,4的(0,1)正太分布随机数
print(np.random.rand(2,4)) #shape为 2,4的 均匀分布随机数
print(np.random.randint(2,5,[3,3])) # low=2,high=5 shape=[3,3]

结果如下:

 

三、改变数组的结构

numpy 数组的存储顺序和数组的维度是不相干的,因此改变数组的维度是非常便捷的操作,除 resize() 外,这一类操作不会改变所操作的数组本身的存储顺序。

>>> a = np.array([[1,2,3],[4,5,6]])
>>> a.shape                     # 查看数组维度
(2, 3)
>>> a.reshape(3,2)              # 返回3行2列的数组
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> a.ravel()                   # 返回一维数组
array([1, 2, 3, 4, 5, 6])
>>> a.transpose()               # 行变列(类似于矩阵转置)
array([[1, 4],
       [2, 5],
       [3, 6]])
>>> a.resize((3,2))             # 类似于reshape,但会改变所操作的数组
>>> a
array([[1, 2],
       [3, 4],
       [5, 6]])

参考博客:

https://blog.youkuaiyun.com/xufive/article/details/87396460

https://blog.youkuaiyun.com/zenghaitao0128/article/details/78556535

 

 

 

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值