numpy 基本知识总结
numpy最常用数据类型ndarray
ndarray类
可以把array看做numpy的一个类,调用类可以生成ndarray对象。
>>> import numpy as np
//创建一维数组
>>> a = np.array([1,2,3])
>>> type(a)
<class 'numpy.ndarray'>
//创建二维数组
>>> a = np.array([[1],[2],[3]])
>>> type(a)
<class 'numpy.ndarray'>
//numpy包含其它数据类型
>>> b = np.intc(64)
>>> type(b)
<class 'numpy.int32'>
ndarray属性值
dtype查看多维数组的元素类型
>>> a = np.array([[1],[2],[3]])
>>> a.dtype
dtype('int64')
//创建数组时指定数据类型
>>> a = np.array([[1],[2],[3]],dtype=np.int32)
>>> a.dtype
dtype('int32')
ndim属性获取数据的维度
>>> a = np.array([[1],[2],[3]],dtype=np.int32)
>>> a.ndim
2
>>> b = np.array([1,2,3])
>>> b.ndim
1
size和shape获取数据的形状和大小
大小表示总共的元素个数
>>> a.size
3
>>> a.shape
(3, 1)
>>> b.shape
(3,)
>>> b.size
3
numpy切片
既能对数组切片,也能对多维数组切片
>>> a
array([[1, 2, 3],
[4, 5, 6]])
>>> a[0]
array([1, 2, 3])
>>> a[:1]
array([[1, 2, 3]])
ndarray方法
reshape重构数据对象
接收的参数以逗号隔开
>>> a = np.array([[1,2,3],[4,5,6]])
>>> a.reshape(2,3)
array([[1, 2, 3],
[4, 5, 6]])
>>> a.reshape(3,2)
array([[1, 2],
[3, 4],
[5, 6]])
>>> a.reshape(6)
array([1, 2, 3, 4, 5, 6])
numpy获取最大、最小以及和
类ndarray提供了方法max、min、sum计算最大、最小以及和,注意和python通过内置函数max、min区别。
>>> a
array([[1, 2, 3],
[4, 5, 6]])
>>> a.max()
6
>>> a.min()
1
>>> a.sum()
21
#python内置函数
>>> b = [1,2,3]
>>> max(b)
3
>>> min(b)
1
>>> sum(b)
6
numpy根据轴进行求和
#定义一个3x2x2的numpy数组,axis = 0表示第一维3,axis = 1表示第二维2
>>> c = np.array([[[1,2],[3,4]],[[5,6],[7,8]],[[9,10],[11,12]]])
#对第一维求和变成2x2的矩阵
>>> c.sum(axis=0)
array([[15, 18],
[21, 24]])
#对第二维求和变成3x2矩阵
>>> c.sum(axis=1)
array([[ 4, 6],
[12, 14],
[20, 22]])
>>> c.sum(axis=2)
array([[ 3, 7],
[11, 15],
[19, 23]])