1. 创建数组
# 以下三种方法创建数组得到的结果是一样的
a = np.array([1, 2, 3, 4, 5])
b = np.array(range(1, 6))
c = np.arange(1, 6)
array:将输入数据转换为numpy数组
arrange:range的数组版
1.1 使用arange和linspace创建数组
#np.arange([开始],结束,[步长], dtype=None)
np.arange(5) #[0 1 2 3 4]
np.arange(1,10,2) #[1 3 5 7 9]
#np.linspace(开始,结束,个数)
#左闭右闭,等距生成数组,前两个数为区间,第三个数是元素个数
a=np.linspace(0,99,6) #[ 0. 19.8 39.6 59.4 79.2 99. ]
1.2 使用ones和ones_like创建全是1的数组
#np.ones(shape,dtype=None,order='C')
a=np.ones(3) #[1. 1. 1.]
b=np.ones((2,3)) #[[1. 1. 1.],[1. 1. 1.]]
c=np.ones(5,dtype=np.int) #[1 1 1 1 1]
shape:整数(一维向量)或整型元组(多维向量)定义数组的形状
dtype:数组元素的数据类型
order : {‘C’, ‘F’}, 可选规定返回数组元素在内存的存储顺序:C(C语言)-rowmajor;F(Fortran)column-major。
# np.ones_like(a,dtype=float,order='C',subok=True)
a = [[1, 2], [3, 4]]
b = np.ones_like(a) #[[1 1],[1 1]]
a:用a的形状和数据类型,来定义返回数组的属性
dtype:数据类型,可选
order顺序 : {'C','F','A'或'K'},可选,覆盖结果的内存布局
subok : bool,可选。True:使用a的内部数据类型,False:使用a数组的数据类型,默认为True
1.3 用zeros和zeros_like来创建全是0的数组
与ones和ones_like用法一样
#np.zeros(shape,dtype=None,order='C')
#np.zeros_like(a,dtype=None)
1.4 用full和full_like来创建指定值的数组
#np.full(shape,fill_value,dtype=None,order='C')
a = np.full(3,520) #[520 520 520]
b = np.full((2,4),520) #[[520 520 520 520],[520 520 520 520]]
fill_value:指定值,为纯数值变量
#np.full_like(a,fill_value,dtype=None)
x=np.array([[0, 1, 2],
[3, 4, 5]])
>>> np.zeros_like(x,520)
array([[520, 520, 520],
[520, 520, 520]])
1.5 使用random生成随机数组
#np.random.randn(d0,d1,...,dn)
a = np.random.randn() # 一个随机数
b = np.random.randn(3) # 3个数
c = np.random.randn(3,2) # 3行2列
d = np.random.randn(3,2,4) # 3块,每块是2行4
传一个数就是一维,两个数就是二维,n个数就是n维
np.round(a,2) #对a保留两位小数
2. 数组的属性
a=np.array([1,2,3,4,5])
print(a.shape) #(5,)
print(a.ndim) # 1
b=np.ones(3,2)
print(b.shape) #(3,2)
print(b.ndim) # 2
print(b.dtype) #int32
shape:返回一个元组,表示数组的维度
ndim:返回一个数字,数组维度的数目
size:返回一个数字,表示数组中所有元素的数目
dtype:返回数组中元素的数据类型
type(a):返回a的数据类型 <class 'numpy.array'>
给数据指定的数据类型
import numpy as np
a = np.array(range(1,8),dtype=float) # 修改数据类型
b = np.array(range(1,8),dtype='float32') # 修改数据类型和位数
print(a.dtype) # float
print(b.dtype) # float32
print(type(a)) # <class 'numpy.ndarray'>
print(type(b)) # <class 'numpy.ndarray'>