作者原创,转载请注明
数据的规格可以用数据的维度(ndim),形状(shape),大小(size)进行描述
arr1 = np.arange(0,12).reshape(4,-1) ##生成4*3数组
arr2 = np.arange(0,24).reshape(4,2,-1) ##生成4*2*3 数组
print(arr)
## arr1
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])
## arr2
array([[[ 0, 1, 2],
[ 3, 4, 5]],
[[ 6, 7, 8],
[ 9, 10, 11]],
[[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23]]])
ndim返回只有一个数,表示数组的维度
print(arr1.ndim) # 2 维数组
print(arr2.ndim) # 3 维数组
表示各位维度大小的元组,n维数组返回包含n个值的元组
print(arr1.shape) # (4, 3)
print(arr2.shape) # (4, 2, 3)
size表示的是数组a的规模,即元素个数
print(arr1.size) # 12
print(arr2.size) # 24
数组ndim等于shape的大小,size等于shape中所有值的乘积
numpy中数据类型主要包括整数、浮点数、复数、布尔值、字符串等,如下图所示:
arr3 = np.array([[1,2,3],[4,5,6],[7,8,9]])
arr4 = np.array([[1,2,3],[4,5,6],[7,8,9]]) +0.1
## arr3
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
## arr4
array([[1.1, 2.1, 3.1],
[4.1, 5.1, 6.1],
[7.1, 8.1, 9.1]])
print(arr3.dtype) # dtype('int32')
print(arr4.dtype) # dtype('float64')
使用dtype指定创建数组的数据类型:
arr5 = np.array(arr3,dtype=np.float64)
#另一种写法:
#arr5 = np.array(arr3,dtype='f8')
## arr5:
array([[1., 2., 3.],
[4., 5., 6.],
[7., 8., 9.]])
该函数用于转换数组的数据类型
#arr6 = arr4.astype('int32')
#另一种写法:
arr6 = arr4.astype('i4')
## arr6:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 字符串转换:
arr7 = np.array([['1','2','3'],['4','5','6'],['7','8','9']])
arr7.astype('f8')
##
array([[1., 2., 3.],
[4., 5., 6.],
[7., 8., 9.]])