Python之Numpy数组
把经常会用到的数组列在这里...
1. np.zeros()
a1 = np.zeros(3)
# array([0., 0., 0.])
a2 = np.zeros([2,3])
# array([[0., 0., 0.],
# [0., 0., 0.]])
a3 = np.zeros((2, 2))
# array([[0., 0.],
# [0., 0.]])
zeros创建的是全部为0的数组,zeros()里面填单个数字:一维数组,
zeros()里面填列表[n,m]:n行m列数组,
zeros()里面填元组(n,m):n行m列数组(哦哟,很神奇哦,所以填方括号和圆括号是一样的咯)
a = np.zeros(3, dtype=int)
type(a[0])
# numpy.int64
zeros()默认生成的数据类型是float64(64位浮点数),如果需要指定数据类型的话,在括号里加一个dtype=int就好(生成的是int64,64位整数)
z = np.zeros(4)
print(z)
# [0. 0. 0. 0.]
z.shape = (2, 2)
print(z)
# [[0. 0.]
# [0. 0.]]
z.shape = (4, 1)
print(z)
# [[0.]
# [0.]
# [0.]
# [0.]]
shape可以变换zeros()的维度,增加维度
shap跟reshape有什么不同?==>
shape是查看数据有多少行多少列(虽然也可以赋值,但是不是本职工作)
reshape()是数组array中的方法,作用是将数据重新组织
2. np.ones()
a1 = np.ones(3)
print(a1)
# [1. 1. 1.]
a2 = np.ones([2,3])
print(a2)
# [[1. 1. 1.]
# [1. 1. 1.]]
a3 = np.ones((2, 2))
print(a3)
# [[1. 1.]
# [1. 1.]]
跟np.zeros()差不多,只是zeros()生成的全是0,ones()生成的全是1(而且它们生成的都是float64)
3. np.empty()
z = np.empty(3)
print(z)
# [1. 1. 1.]
它是在内存中创建数组,之后可以用数据去填充这个数组==>(但生成出来的是1,跟ones()的结果一样,难道这个1是占位符一般的存在?)
4. np.linspace()
z = np.linspace(2, 4, 5)
# [2. , 2.5, 3. , 3.5, 4. ]
linspace(n, m, i)的意思是在n~m之间,生成i个数值(这i个数值不是随机生成的,平均间隔是相等的哦)