这里主要讲下numpy的一些基础操作,即书籍的第4章内容。
1. 创建数组对象的方式
其他方式:
# 创建10个全为0的数组
np.zeros(10) # array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
# 创建全为0的二维数组
np.zeros((3, 6)) # array([[ 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0.]])
# 创建一个任意值的数组
np.empty((2, 3,2)) # array([[[ 0.00000000e+000, 0.00000000e+000],
[ 2.16538378e-314, 2.16514681e-314],
[ 2.16511832e-314, 2.16072529e-314]],
[[ 0.00000000e+000, 0.00000000e+000],
[ 2.14037397e-314, 6.36598737e-311],
[ 0.00000000e+000, 0.00000000e+000]]])
# 创建一个从0到10的数组
np.arange(10) # array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# 随机一:随机创建一个符合标准正态分布的数组
np.random.normal(size=(4, 4)) # array([[ 0.5382462 , -0.79452471, -0.07993797, 0.72243531],
[ 0.87180676, 1.61663011, -0.62169955, 1.73880636],
[ 1.88294218, 0.07432438, 1.63474848, 0.23519213],
[ 0.92847885, -0.45791646, 0.63965317, -0.23654448]])
注:np.random.randn也可以创建一个符合标准正态分布的数组,两者的区别在于:
np.random.randn(size)所谓标准正太分布(μ=0, σ=1),对应于np.random.normal(loc=0, scale=1, size)
list转为数组的方式:
# 一维list转化为array
data1 = [6, 7.5, 8, 0, 1]
arr1 = np.array(data1)
# 二维list转化为array
data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]
arr2 = np.array(data2)
2. 查看数组的维度
# 维度
arr2.ndim # 2
arr2.shape # (2,4)
3. 数组的类型
在创建时,不用dtype定义的话,会自动搭配合适的类型
arr2.dtype # dtype('int64')
未完待续!