numpy入门

Created at 2018-07-15 Updated at 2018-07-15 Category Study Tag python / numpy

why?

应用:

  • 数据分析
  • 机器学习
  • 深度学习

性能:

  • 运算速度快——采用C语言编写
  • 消耗资源少——矩阵运算

安装:pip3 install numpy


初入门

属性

  • ndim 维度
  • shape 行、列数
  • size 元素个数
1
2
3
4
5
6
7
import numpy as np
array = np.array([[1,2,3]
truetruetruetrue ,[2,3,4]])
print(array)
print(array.ndim)
print(array.shape)
print(array.size)

创建array:

  • array: 创建数组
  • dtype:指定数据类型
  • zeros:创建数据全为0 —>np.zeros((3,4))数据为0,三行四列
  • ones:创建数据全为1
  • arange: 按指定范围创建数据—>np.arange(10)
  • linspace:创建线段—>np.linspace(start,end,num)

可使用reshape()改变数据的形状。


基本运算:

普通加减乘法、次方运算直接在数组上的操作:

c=a+b,c=a-b,c=a*b,c=b**2

判断逻辑:

print(b<3)—–>输出bool矩阵

标准矩阵乘法:dot()

c = np.dot(a,b) OR c = a.dot(b)

三角函数等:

sin()

聚集函数:

sum(),max(),min()
其中可带参数axis,0为查找每列,1为查找每行

索引:

argmin(),argmax()
分别对应矩阵最小、最大元素的索引

平均值:

mean() OR average()

中位数:

median()

累加函数:

cumsum()

累差运算:

diff() 每行相邻两数的差

转置:

np.transpose(a) OR a.T

排序:

sort() 对每行排序

其他:

  • nonzero() 非零元素行、列分开,重构两个关于行、列的矩阵
  • clip(​a, a_min, a_max) 类似滤波

今天暂时先看到这边。

关于numpy的函数还有很多,除了阅读官方文档外,发现了atom的一个好处,内置的autocomplete-python中的Kite可以提供非常详细的解读:如下图所示:

愿你是你所期待的样子

愿你还是你所期待的样子

Hide