
Numpy
Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。
缘 源 园
https://mp.weixin.qq.com/s/EtndbQk9m9n75xiQsDcvww 欢迎关注博主微信公众号。一起交流互动更多问题。
展开
-
数组间运算
数组与数的运算import numpy as nparr = np.array([1, 2, 3, 4, 5])arr+1array([2, 3, 4, 5, 6])arr/2array([0.5, 1. , 1.5, 2. , 2.5])arr*3array([ 3, 6, 9, 12, 15])数组与数组的运算广播机制数组在进行矢量化运算时,要求数组的形状是相等的。当形状不相等的数组执行算术运算的时候,就会出现广播机制,该机制会对数组进行扩展,使数组的sh.原创 2021-04-04 08:24:39 · 583 阅读 · 0 评论 -
Numpy统计运算
统计指标在数据挖掘/机器学习领域,统计指标的值也是我们分析问题的一种方式。常用的指标如下:min(a, axis) Return the minimum of an array or minimum along an axis. max(a, axis]) Return the maximum of an array or maximum along an axis. median(a, axis) Compute the median along the specified ax原创 2021-04-04 08:24:26 · 179 阅读 · 0 评论 -
np.where三元运算符
通过使用np.where能够进行更加复杂的运算np.where()原创 2021-04-04 08:24:16 · 527 阅读 · 0 评论 -
ndarray逻辑运算
逻辑运算import numpy as npstock_change=np.random.normal(0,1,(8,10))stock_changearray([[-0.43502747, 1.57136162, 1.03901806, 0.76656504, 1.68492288, -0.26858959, 0.22101944, -0.70730831, -0.24112227, 0.28039298], [ 0.90290934, -1.217.原创 2021-04-04 08:24:06 · 360 阅读 · 0 评论 -
np.unique()数组的去重
数组的去重np.unique()temp = np.array([[1, 2, 3, 4],[3, 4, 5, 6]])temparray([[1, 2, 3, 4], [3, 4, 5, 6]])np.unique(temp)array([1, 2, 3, 4, 5, 6])原创 2021-04-04 08:23:55 · 460 阅读 · 0 评论 -
python中的tostring数据字节
ndarray.tostring([order])或者ndarray.tobytes([order])构造包含数组中原始数据字节的Python字节数组中原始数据字节arr = np.array([[[1, 2, 3], [4, 5, 6]], [[12, 3, 34], [5, 6, 7]]])arr.tostring()b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00..原创 2021-04-04 08:21:08 · 2287 阅读 · 0 评论 -
ndarray.astype(type)类型修改
类型修改ndarray.astype(type)返回修改了类型之后的数组修改前的数据stock_changearray([[ 0.34212402, -0.6963789 , 0.1791444 , 1.04898533, -0.02369988, 0.94556881], [ 0.9879527 , 1.13455774, 0.15338467, 1.29960181, 0.13196679, -0.20890051], [-0.40477285,原创 2021-04-04 08:20:56 · 725 阅读 · 0 评论 -
ndarray.T对数组进行转置
ndarray.T数组的转置 将数组的行、列进行互换原数据stock_changearray([[ 0.34212402, -0.6963789 , 0.1791444 , 1.04898533, -0.02369988, 0.94556881], [ 0.9879527 , 1.13455774, 0.15338467, 1.29960181, 0.13196679, -0.20890051], [-0.40..原创 2021-04-04 08:20:40 · 447 阅读 · 0 评论 -
ndarray.resize(new_shape)修改数组本身的形状
ndarray.resize(new_shape)修改数组本身的形状(需要保持元素个数前后相同) 行、列不进行互换stock_change.resize([3, 8])# 查看修改后结果stock_change.shape(3, 8)import numpy as npstock_change=np.random.normal(0,1,[3,8])stock_changearray([[ 0.34212402, -0.6963789 , 0.1791444 , 1.0489原创 2021-04-04 08:20:28 · 838 阅读 · 0 评论 -
ndarray.reshape()形状修改
ndarray.reshape(shape, order)返回一个具有相同数据域,但shape不一样的视图 行、列不进行互换import numpy as npstock_change=np.random.normal(0,1,[3,8])stock_changearray([[ 0.34212402, -0.6963789 , 0.1791444 , 1.04898533, -0.02369988, 0.94556881, 0.9879527 , 1.13455.原创 2021-04-04 08:20:12 · 833 阅读 · 0 评论 -
Numpy数组如何使用切片取值
一维、二维、三维的数组如何索引?直接进行索引,切片 对象[:, :] -- 先行后列二维数组索引方式:import numpy as npstock_change=np.random.normal(0,1,[3,8]) #生成均值为0,标准差为1的正态分布数据,三行八列#np.random.normal(loc=0.0,scale=1.0,size=None)stock_changearray([[ 0.34212402, -0.6963789 , 0.1791444 ...原创 2021-04-03 20:01:37 · 523 阅读 · 0 评论 -
正态分布
什么是正态分布?正态分布是一种概率分布。正态分布是具有两个参数μ和σ的连续型随机变量的分布,第一参数μ是服从正态分布的随机变量的均值,第二个参数σ是此随机变量的方差,所以正态分布记作N(μ,σ )。正态分布的应用生活、生产与科学实验中很多随机变量的概率分布都可以近似地用正态分布来描述。正态分布特点μ决定了其位置,其标准差σ决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布。标准差如何来? 方差 是在概率论和统计方差衡量一组数据时离散程度的度量.原创 2021-04-03 02:48:20 · 4402 阅读 · 0 评论 -
np.random.standard_normal()
np.random.standard_normal(size=None)返回指定形状的标准正态分布的数组。np.random.standard_normal(1)array([0.21629311])import matplotlib.pyplot as plt# 生成均匀分布的随机数x1 = np.random.standard_normal(10)# 画图看分布状况# 1)创建画布plt.figure(figsize=(20, 8), dpi=100)# 2)绘制直方图p原创 2021-04-03 02:42:46 · 5535 阅读 · 0 评论 -
np.random.normal()
np.random.normal(loc=0.0,scale=1.0,size=None)loc:float 此概率分布的均值(对应着整个分布的中心centre)scale:float此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)size:int or tuple of ints输出的shape,默认为None,只输出一个值生成均值为1.75,标准差为1的正态分布数据,100000000个x1 = np.random.no...原创 2021-04-03 02:34:11 · 3176 阅读 · 0 评论 -
np.random.randint()的用法详解
np.random.randint(low,high=None,size=None,dtype='l')low—–为最小值high—-为最大值size—–为数组维度大小dtype—为数据类型,默认的数据类型是np.int。从一个均匀分布中随机采样,生成一个整数或N维整数数组, 取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。np.random.randint(1.75, 4, 11) ##11个随机整数数字#ar...原创 2021-04-03 02:20:13 · 17310 阅读 · 1 评论 -
np.random.uniform()的用法
np.random.uniform(1.75, 1, 100000000)#输出结果array([1.25930467, 1.40160844, 1.53509096, ..., 1.57271193, 1.25317863, 1.62040797])原创 2021-04-03 02:01:13 · 6736 阅读 · 2 评论 -
np.random.randn标准正态分布
np.random.randn(d0, d1, …, dn)通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。标准正态分布是以 0 为均数、以 1 为标准差的正态分布,记为 N(0,1)1)当函数括号内没有参数时,则返回一个浮点数;2)当函数括号内有一个参数时,则返回秩为1的数组,不能表示向量和矩阵;3)当函数括号内有两个及以上参数时,则返回对应维度的数组,能表示向量或矩阵; 当函数括号内没有参数时x0 = np....原创 2021-04-03 01:45:55 · 2431 阅读 · 0 评论 -
numpy.random.rand()
numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值。numpy.random.rand(d0, d1, …, dn)的随机样本位于[0, 1)中。numpy.random.rand(d0,d1,…,dn)rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1 dn表格每个维度 返回值为指定维度的arraynp.random.rand(4,2)array([[0.64959905, 0.14584702], ...原创 2021-04-03 01:45:30 · 239 阅读 · 0 评论 -
np.linspace(),np.arange(),np.logspace() 的区别
Numpy生成固定范围的数组np.linspace (start, stop, num, endpoint)创建等差数组 — 指定数量 参数: start:序列的起始值 stop:序列的终止值 num:要生成的等间隔样例数量,默认为50 endpoint:序列中是否包含stop值,默认为ture np.linspace(0,100,11) # 生成等间隔的数组 从0到100,11个数字#输出结果#array([ 0., 10., 20., 30., 40.,原创 2021-04-03 00:50:03 · 343 阅读 · 0 评论 -
np.array(),np.asarray()的区别
np.array(),np.asarray()从现有数组生成的不同之处:array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会。a = np.array([[1,2,3],[4,5,6]])a1 = np.array(a) #从现有的数组当中创建a1#输出结果array([[1, 2, 3], [4, 5, 6]])a2 = np.asarray(.原创 2021-04-03 00:28:43 · 414 阅读 · 0 评论 -
Numpy生成0和1的数组
np.ones(shape, dtype) np.ones_like(a, dtype) np.zeros(shape, dtype) np.zeros_like(a, dtype)zeros() 返回一个全0的n维数组;np.zeros返回来一个给定形状和类型的用0填充的数组;ones() 返回一个全1的n维数组;np.ones返回来一个给定形状和类型的用1填充的数组;import numpy as npones = np.ones([4,8]) #生成4行8列数组,值全为1ones原创 2021-04-02 23:53:08 · 2253 阅读 · 0 评论 -
N维数组-ndarray
1 ndarray的属性数组属性反映了数组本身固有的信息。属性名字 属性解释 ndarray.shape 数组维度的元组 ndarray.ndim 数组维数 ndarray.size 数组中的元素数量 ndarray.itemsize 一个数组元素的长度(字节) ndarray.dtype 数组元素的类型 2 ndarray的形状首先创建一些数组。# 创建不同形状的数组>>> a = np.array([.原创 2021-04-01 00:25:19 · 202 阅读 · 0 评论 -
ndarray的优势
1、内存块风格ndarray到底跟原生python列表有什么不同呢,请看一张图:从图中我们可以看出ndarray在存储数据的时候,数据与数据的地址都是连续的,这样就给使得批量操作数组元素时速度更快。这是因为ndarray中的所有元素的类型都是相同的,而Python列表中的元素类型是任意的,所以ndarray在存储元素时内存可以连续,而python原生list就只能通过寻址方式找到下一个元素,这虽然也导致了在通用性能方面Numpy的ndarray不及Python原生list,但在科学计算中,N原创 2021-04-01 00:25:07 · 491 阅读 · 0 评论 -
ndarray与Python原生list运算效率对比
为什么还需要使用Numpy的ndarray呢?import randomimport timeimport numpy as npa = []for i in range(1000000): a.append(random.random())# 通过%time魔法方法, 查看当前行的代码运行一次所花费的时间%time sum1=sum(a)b=np.array(a)%time sum2=np.sum(b)#输出结果Wall time: 3.98 msWall ti原创 2021-04-01 00:24:55 · 679 阅读 · 0 评论 -
Numpy优势
Numpy介绍Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。...原创 2021-03-31 00:03:36 · 298 阅读 · 0 评论 -
ndarray介绍
NumPy provides an N-dimensional array type, the ndarray, which describes a collection of “items” of the same type.NumPy提供了一个N维数组类型ndarray,它描述了相同类型的“items”的集合。用ndarray进行存储:import numpy as np# 创建ndarrayscore = np.array([[80, 89, 86, 67, 79],..原创 2021-03-31 00:03:27 · 282 阅读 · 0 评论