前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Numpy指南

Numpy指南

作者头像
爱撒谎的男孩
发布2019-12-31 14:22:15
4370
发布2019-12-31 14:22:15
举报
文章被收录于专栏:码猿技术专栏码猿技术专栏

文章目录

  1. 1. numpy指南
    1. 1.1. 安装
    2. 1.2. 创建
      1. 1.2.1. array
      2. 1.2.2. arange
      3. 1.2.3. reshape
      4. 1.2.4. linspace
      5. 1.2.5. logspace
    3. 1.3. 存取数据
      1. 1.3.1. 下标存取
      2. 1.3.2. 使用整数序列
    4. 1.4. ufunc

numpy指南

numpy是一个能够处理多维数组的库,虽然python中也内置了处理数组的库,但是这个并不能满足大数据时代的需求,因此产生了可以处理多维数组的numpy

安装

  • pip install numpy

创建

array

  • array函数是一个最基本的创建方式,其中传入的参数是一个序列,既可以创建一维数组,也可以创建二维数组,但是这种方法不太灵活,因为你要把这个序列显式的写出来,先不多说了,自己体会吧
代码语言:javascript
复制
import numpy as np
a=np.array([1,2,3,4,5])   #创建一个二维数组
b=np.array([[1,2,3,4],[2,3,4,5]])  #创建一个二维数组

print a.shape     #输出数组的维度,(5,)
print b.shape     #(2,4)

arange

  • arange(start,end,step) 创建一个一维数组,起始值为start,终值为end,步长为step,其中np.arrange(10) 表示起始值为0,终值为10,步长为1
代码语言:javascript
复制
a=np.arange(0,10,1)   
b=np.arange(10)

reshape

  • reshape(a,b)能过改变当前数组的尺寸将其赋值给新的数组,但是当前数组并没有改变,这个用来改变当前数组的维度,可以将以为数组改变为二维数组
代码语言:javascript
复制
a=np.arange(10)   #创建一个有10个元素的一维数组
b=np.reshape(2,5)  #将改变后的当前数组赋值给b,但是a数组并没有改变 ,2*5=10
c=np.reshape(5,-1)  #第一个参数为5行,第二个-1表示自动计算生成,10/5=2

linspace

  • linspace(start,end,number) 创建一个等距离的数组,start是起始值,end是终值,number是个数,创建的是一个一维数组,其中的元素全部是浮点数,默认的是包括终值的,但是可以通过endpoint=False指定不包括终值
代码语言:javascript
复制
a=np.linspace(0,10,10)   #包含10的一个等差数组
b=np.linspace(0,10,10,endpoint=False)  #不包含10的一个等差数组

logspace

  • logspace(start,end,number) 创建的是在10^start和10^end之间包含number个元素的等比数组,创建的是一个等比数组
代码语言:javascript
复制
a=np.logspace(0,1,10)  #创建一个在1-10之间的10个元素的等比数组

存取数据

下标存取

代码语言:javascript
复制
a=np.arange(10)   #[0,1,2,3,4,5,6,7,8,9]
a[0]   #获取第一个元素的值1
a[0:2]  #获取下标我0,1的值,注意不包括2
a[0:10:1] # 获取下标在0-10之间的(包括0,不包括9),步长为1的元素,就是每隔一个区娶一个
a[1:]     #获取从第二个元素开始到最后的所有的元素
a[:8]     #获取下标为0-8之间的元素(不包括8)
a[1::1]  #获取下标为0到最后并且步长为1的所有元素
a[8:4:-1]  #获取起始下标为8,终止下标为4,并且步长为-1,这是从后向前获取元素
a[::-1]   #将数组逆置

使用整数序列

当使用整数序列对数组元素进行存取时,将使用整数序列中的每个元素作为下标,整数序列可以是列表或者数组。使用整数序列作为下标获得的数组不和原始数组共享数据空间。

代码语言:javascript
复制
x = np.arange(10,1,-1)
 x[[3, 3, 1, 8]] # 获取x中的下标为3, 3, 1, 8的4个元素,组成一个新的数组

ufunc

ufunc是universal function的缩写,它是一种能对数组的每个元素进行操作的函数。NumPy内置的许多ufunc函数都是在C语言级别实现的,因此它们的计算速度非常快.

代码语言:javascript
复制
np.sin(x)  #对数组中的每一个值进行sin操作,并且返回一个数组
np.sin(x,y)  #对数组x中的值进行sin操纵,所得结果返回给y,但是也返回一个结果数组,这个数组和y共享一块空间的
np.add(a,b) #将两个数组中的对应的值都相加,返回的是一个新的数组
np.add(a,b,c) # 将两个数组中对应的值相加,结果复制给c,并且返回一个新的数组
np.subtract(a,b) # 两个数组相减,a-b,返回的是一个新的数组
np.subtract(a,b,c)  
np.multiply(a,b)  #相乘
np.multiply(a,b,c)  #相乘
divide(a,b,[,y])  #相除,如果是两个整数相除,那么返回的是整数
true_divide(a,b,[,y])  #相除,总是返回精确的商
floor_divide(a,b,[,y])  #总是对返回值取整
power(a,b,[,y])   # a^b  平方
mod(a,b,[,y])   #取余   %
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • numpy指南
    • 安装
      • 创建
        • array
        • arange
        • reshape
        • linspace
        • logspace
      • 存取数据
        • 下标存取
        • 使用整数序列
      • ufunc
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档