NumPy 基础

Numpy是Python的一个科学计算的库

引入
import numpy as np

  • 多维数组

np.ndarray

  • 数组的使用

a = np.array([0,1,2,3,4],[9,8,7,6,5])

指定数据类型

a = np.array([0,1,2,3,4],[9,8,7,6,5],np.int32)

内存方法

  • ndarray.flags 有关数组的内存布局的信息。

  • ndarray.shape 数组维数组。

print(a.shape)
#(2, 5)
  • ndarray.strides 遍历数组时,在每个维度中步进的字节数组。

  • ndarray.ndim 数组尺寸数。

print(a)
# 2

ndarray.data Python缓冲区对象指向数组的数据的开始。

  • ndarray.size 数组中的元素数。
a.size
#10
  • ndarray.itemsize 一个数组元素的长度(以字节为单位)。
a.itemsize
# 8
  • ndarray.nbytes 数组的元素消耗的总字节数。

  • ndarray.base 如果内存是来自某个其他对象的基本对象。

  • ndarray.dtype 数组元素的数据类型。

a.dtype  
#dtype('int64')

ndarray创建

  • np.arange(n)

返回ndarray类型 元素从0到N-1

x = np.arange(10)
print(x)
# array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
print(type(x))
# numpy.ndarray
  • np.ones(shape)

根据shape生成全是1的数组 shape是远组类型

#生成一个3行2列的数组
x = np.ones((3,2))
print(x)
# array([[ 1.,  1.],[ 1.,  1.],[ 1.,  1.]])
  • np.zeros(shape)

根据shape生成全是0的数组 shape是远组类型(同np.ones)

  • np.full(shape,val)

根据shape生成一个数组,每个元素的值都为val

#生成2行2列值为5的数组
x = np.full((2,2),5)
print(x)
#array([[5, 5],[5, 5]])
  • np.eye(n)

创建一个正方的n*n单位的矩阵,对角线为1 其余为0

x = np.eye(2)
print(2)
#array([[ 1.,  0.],
       [ 0.,  1.]])
  • np.ones_like(a)

根据数组a的形状生成一个全1的数组

  • np.zeros_like(a)

根据数组a的形状生成一个全0的数组

  • np.full_like(a,val)

根据a的形状生成一个数组,值全部为val

np.linspace()

根据起止数据等间距填充数据,形成数组

#1=>开始 21=>结束 5=>生成个数 endpoint=True 包含21 默认true
c = np.linspace(1,21,5,endpoint=True)
print(c)
# [  1.   6.  11.  16.  21.]

np.concatenate()

合并多个数组

#合并a和b数组
np.concatenate((a,b))

ndarray纬度变换

推荐阅读更多精彩内容