Windows+R——cmd——输入如下命令:
pip install numpy
前提:所使用的python版本中配置了pip工具,在python3.9中会自动配置
是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。
ndarray 对象是用于存放同类型元素的多维数组。
ndarray 中的每个元素在内存中都有相同存储大小的区域。
ndarray数组中实现了成熟的广播机制,矩阵运算时不需要写for循环
ndarray 内部由以下内容组成:
(1)一个指向数据(内存或内存映射文件中的一块数据)的指针。 数据类型或 dtype,描述在数组中的固定大小值的格子。
(2)一个表示数组形状(shape)的元组,表示各维度大小的元组。
(3)一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要"跨过"的字节数。
创建一个ndarray:
import numpy
numpy.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0)
一维数组:(M, )
二维数组:(M,N)
三维数组:(K,M,N)
数据元组的总个数
一维数组:M
二维数组:MN
三维数组:MN*K
用于描述与数组对应的内存区域是如何使用——
·其描述了数据的
#dtype对象的语法构造:
numpy.dtype(object,align,copy)
import numpy as np
array1=np.array([1,2,3])
array1
#------>array([1,2,3])
array2=np.array([(1,2,3),(4,5,6)])
array2
'''------>array([[1,2,3]],
[4,5,6]])'''
arange函数用于创建等差数组,类似于range函数
range()返回值为列表,np.arange()返回值为数组,两者都可以用于迭代
两者均有三个参数:startstep
range()不支持步长为小数,np.arange()支持步长为小数
import numpy as np
n=np.arange(0,30,2)
print(n)
print(n.shape)
print(n.dim)
'''
------>[0 2 4 6 8 10 12 14 16 18 20 22 24 26 28]
------>shape:(15,)
------>ndim:1
从起始点到终止点以及个数确定的情况下创建一个等差数组。可以通过endpoint 参数指定是否包含终值,默认值为 True,即包含终值。
import numpy as np
np.linspace(1,2,10,endpoint=False)
#->array([1.,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9])
logspace函数用于创建一个等比数列
np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)
base:取对数时log的下标
import numpy as np
#默认base为10
a=np.logspace(1.0,2.0,num=10)
print(a)
输出结果
[ 10. 12.91549665 16.68100537 21.5443469 27.82559402
35.93813664 46.41588834 59.94842503 77.42636827 100. ]
import numpy as np
a=np.logspace(0,9,10,base=2)
print(a)
[1. 2. 4. 8. 16. 32. 64. 128. 256. 512.]
import numpy as np
np.ones([3,3])
import numpy as np
np.zeros([3,3])
import numpy as np
np.eye(4)
import numpy as np
a=np.arange(10)
s=slice(2,7,2)
print (a[s])
[2 4 6]
如果只放置一个参数,将返回与该索引相对应的单个元素。如果为 [2:],表示从该索引开始以后的所有项都将被提取。如果使用了两个参数,如 [2:7],那么则提取两个索引(不包括停止索引)之间的项。
多维数组同样适用:
import numpy as np
a=np.array([[1,2,3],[3,4,5],[4,5,6]])
print(a)
print(a[1:])
------>
[[1 2 3]
[3 4 5]
[4 5 6]]
[[3 4 5]
[4 5 6]]
注!:1.将一个标量赋值给一个切片时,该值会自动传播到整个选区(切片区)
2.数组切片是原始数组的视图,任何修改都会改变原数组
如果不想改变,则需要copy()
…来使选择元组的长度与数组的维度相同。 如果在行位置使用省略号,它将返回包含行中元素的 ndarray。
import numpy as np
a=np.array([[1,2,3],[3,4,5],[4,5,6]])
print(a[...,1]) #第2列元素
print(a[1,...]) #第2行元素
print(a[...,1:]) #第2列及剩下的所有元素
import numpy as np
n=np.arange(0,20,2)
n=n.reshape(2,5)
print(n)
print('shape=',n.shape)
------>
[[0 2 4 6 8 ]
[10 12 14 16 18]]
shape=(2,5)
shape[0]=2
shape[1]=5
参考:https://www.runoob.com/numpy/numpy-tutorial.html
(侵删)
随便补充= =后续整理
字节顺序是通过对数据类型预先设定 < 或 > 来决定的。 < 意味着小端法(最小值存储在最小的地址,即低位组放在最前面)。> 意味着大端法(最重要的字节存储在最小的地址,即高位组放在最前面)。 ↩︎