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纬度变换

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容