numpy学习笔记

投入到人工智障的坑中,首先就是要学numpy啊?最近在看dalao的神经网络的代码,很崩溃啊?开个博客记录一下学习成果,要不然组会的时候都没东西说啊?

官网的网址:https://docs.scipy.org/doc/numpy-dev/user/quickstart.html

学习的官方网站:http://www.numpy.org/


numpy的基本方法与介绍留坑,先做一下我遇到的接口的笔记

  • numpy.array()

用于创建一个新的数组

栗子1

import numpy as np

a=np.array(range(0,5))
print a

>>>
[0 1 2 3 4]

栗子2

import numpy as np
a=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]
a=np.array(a)
print a

>>>
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]

  • numpy.eye()

生成一个矩形的矩阵

栗子

import numpy as np

b=np.eye(3,k=1)
print b

>>>
[[ 0.  1.  0.]
 [ 0.  0.  1.]
 [ 0.  0.  0.]]

  • numpy.max()/numpy.min()
查询数组中的最大值/最小值

栗子1

import numpy as np
a=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]
a=np.array(a)
print "max",a.max(),"min",a.min()
>>>
max 12 min 1

栗子2

import numpy as np
a=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]
a=np.array(a)
#每一行取出最大/小的那一个数(axis=1),每一列取出最大/小的数(axis=0),axis实质上是表示第几维度
print "max",a.max(axis=0),"min",a.min(axis=1)

>>>
max [ 9 10 11 12] min [1 5 9]

  • numpy.argmax()/numpy.argmin()

功能和max/min函数类似,返回的是下标

栗子

import numpy as np
a = np.array([[1, 5, 5, 2],
              [9, 6, 2, 8],
              [3, 7, 9, 1]])
print np.argmin(a, axis=0)
print np.argmax(a, axis=0)
>>>
[0 0 1 2]
[1 2 2 1]

  • numpy.ndarray.ndim

返回数组的维度

栗子

import numpy as np
a=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]
a=np.array(a)
print a.ndim

>>>
2

  • numpy.mean()

返回数组的平均值

栗子

import numpy as np
a = np.array([[1, 5, 5, 2],
              [9, 6, 2, 8],
              [3, 7, 9, 1]])
print np.mean(a)
>>>
4.83333333333

  • numpy.clip()

这个方法可以给定一个区间,在去见之外的数字将被剪除到区间的边缘,例如给定一个区间[0,1],则小于0的将变成0,大于1则变成1

栗子

import numpy as np
a = np.array([[1, 5, 5, 2],
              [9, 6, 2, 8],
              [3, 7, 9, 1]])
print np.clip(a,3,4)
>>>
[[3 4 4 3]
 [4 4 3 4]
 [3 4 4 3]]

  • numpy.squeeze()

这个方法可以压缩数组的维度,将删除维度上只有一个元素的维度

栗子

import numpy as np

image = np.array([[[ 0.67826139,  0.29380381],
        [ 0.90714982,  0.52835647],
        [ 0.4215251 ,  0.45017551]]])
print np.squeeze(image)
x = np.array([[[0], [1], [2]]])
print np.squeeze(x)
>>>
[[ 0.67826139  0.29380381]
 [ 0.90714982  0.52835647]
 [ 0.4215251   0.45017551]]
[0 1 2]
  • numpy.reshape()

可以改变数组的形态,某个维度填写-1表示自动计算

栗子

import numpy as np
a=np.arange(6)
print a.reshape((3,-1))
print a.reshape((3,2))
>>>
[[0 1]
 [2 3]
 [4 5]]
[[0 1]
 [2 3]
 [4 5]]

  • numpy.where()

这里x,y是可选参数,condition是条件,这三个输入参数都是array_like的形式。而且三者的维度相同当conditon的某个位置的为true时,输出x的对应位置的元素,否则选择y对应位置的元素。如果只有参数condition,则函数返回为true的元素的坐标位置信息。

  • numpy.vstack()

将两个数组按照列合并,要求维度一致。

栗子

>>> a = np.array([1, 2, 3])
>>> b = np.array([2, 3, 4])
>>> np.vstack((a,b))
array([[1, 2, 3],
       [2, 3, 4]])

>>>

>>> a = np.array([[1], [2], [3]])
>>> b = np.array([[2], [3], [4]])
>>> np.vstack((a,b))
array([[1],
       [2],
       [3],
       [2],
       [3],
       [4]])

元素级数组元素

一元ufunc
函数 说明
abs、fabs 计算绝对值,fabs不能用于复数
aqrt 平方根
zebra stripes are neat
square 平方
exp 计算e^x
log、log10、log2、log1p ln、底数10、底数2、log(x+1)
sign 1(正数),0(0)、-1(负数)
ceil 大于等于该值的最大整数
floor 小于等于该值的最大整数
rint 四舍五入,但是dtype保留不变
modf 小数部分和整数部分分开
isnan “哪些值不是一个数字”的布尔型数组
isfinite、isinf “哪些值是无穷”布尔型
cos、cosh、sin、sinh、tan、tanh 三角
arcos、arcosh、arsin、arsinh、artan、artanh 反三角
logical_not 相当于:-a
二元ufunc
函数 说明
add np.add(x,y)
subtract
multiply
divide、floor_divide 除法、丢弃余数
power np.power(a,b) 计算a^b
maximum、fmax  
minmun、fmin  
mod 余数
copysign 第二组元素中的符号复制给第一组元素
greater、greater_equal、less、less_equal、equal、not_equal >、>=、<、<=、==、!= 返回布尔型数组
logical_and、logical_or、logical_xor 逻辑运算


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值