1.调用numpy的array()方法。
array函数接受序列型对象,如列表,元组作为参数,返回一个类型为ndarry的数组。这是numpy的基础数据类型。与列表不同,ndarry必须包含同一数据类型,否则向上转换或报错。
numpy支持的数据类型如下:
使用array创建数组时,如果没有指定数据类型,将默认为浮点数类型。
关于自定义类型待补充。
import numpy as np
x=np.array([1,2,3,4,5,6])
print(type(x))
print(x)
#输出
#<class 'numpy.ndarray'>
#[1 2 3 4 5 6]
x=np.array([[1,2,3],[4,5,6]])
print(x)
print(x.shape,x.dtype,x.size,x.ndim)#形状,数据类型,元素个数,维度
'''
输出
[[1 2 3]
[4 5 6]]
(2, 3) int32 6 2
'''
x=np.array([a for a in range(10)])#迭代器
print(x)
print(x.shape,x.dtype,x.size,x.ndim)
'''
输出
[0 1 2 3 4 5 6 7 8 9]
(10,) int32 10 1
'''
x=np.array([range(a,a+5) for a in range(5)])#嵌套列表
print(x)
print(x.shape,x.dtype,x.size,x.ndim)
'''
输出
[[0 1 2 3 4]
[1 2 3 4 5]
[2 3 4 5 6]
[3 4 5 6 7]
[4 5 6 7 8]]
(5, 5) int32 25 2
'''
2.调用numpy的arange()和linspace()方法。
arange函数的格式为numpy.arange(start, stop, step, dtype)
与python的range函数类似,start和stop相当于一个左闭右开的区间。step为步长默认为1,dtype为数据类型。函数返回一个ndarry数组。
linspace函数也可以用来创建等差数列数组,其格式为np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
与arange函数不同,linspace的num参数为创建的数组元素个数,步长为(stop-start)/(num-1).
将 endpoint 设为 false,结果不包含终止值。
x=np.arange(10)
print(x)
print(x.shape,x.dtype,x.ndim,x.size)
'''
输出
[0 1 2 3 4 5 6 7 8 9]
(10,) int32 1 10
'''
x=np.arange(1,11,2)
print(x)
print(x.shape,x.dtype,x.ndim,x.size)
'''
输出
[1 3 5 7 9]
(5,) int32 1 5
'''
a=np.linspace(0,5,6)
print(a)
'''
[0. 1. 2. 3. 4. 5.]
'''
a=np.linspace(2,25,5,False)
print(a)
'''
[ 2. 6.6 11.2 15.8 20.4]
'''
3.调用ones,zeros,full,empty方法。
a=np.ones((3,4),dtype=int)
print(a)
'''
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
'''
a=np.zeros((3,4))
print(a)
'''
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
'''
a=np.full((3,4),4.2)
print(a)
'''
[[4.2 4.2 4.2 4.2]
[4.2 4.2 4.2 4.2]
[4.2 4.2 4.2 4.2]]
'''
a=np.full((2,2),9)
print(np.full_like(a,3))
'''
[[3 3]
[3 3]]
ones_like,zeros_like类似。
'''
4.调用tile方法。
tile意为展开,铺设。它接受两个参数,格式为tile(A,reps)。
A的数据类型:array_like,例如数组,列表,元组,字典,以及int,float,string等。
B的数据类型:array_like,例如数组,列表,元组,字典,int等。
A通常为需要进行操作的输入数组,B为A在每个轴上的重复次数。
函数的返回值为数组。
简单理解为将A视为一个元素,B为返回数组的形状(维度)。
实例:
a=np.tile(2,9)
print(a)
#[2 2 2 2 2 2 2 2 2]
a=np.tile((2,2),(2,2))#两个参数均为元组
print(a)
'''
[[2 2 2 2]
[2 2 2 2]]
'''
a=[2,3,4]
b=np.tile(a,4)
print(b)
'''
[2 3 4 2 3 4 2 3 4 2 3 4]
'''
a=np.arange(4).reshape(2,2)
b=np.tile(a,[2,2])
print(b)
'''
[[0 1 0 1]
[2 3 2 3]
[0 1 0 1]
[2 3 2 3]]
'''