Numpy数组规格及字段类型详解

作者原创,转载请注明

文章目录

  • numpy数组规格
    • 1. ndim
    • 2. shape
    • 3. size
  • numpy数据类型
    • 1. dtype
    • 2. astype


numpy数组规格

数据的规格可以用数据的维度(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]]])

1. ndim

ndim返回只有一个数,表示数组的维度

print(arr1.ndim) # 2 维数组
print(arr2.ndim) # 3 维数组

2. shape

表示各位维度大小的元组,n维数组返回包含n个值的元组

print(arr1.shape) # (4, 3)
print(arr2.shape) # (4, 2, 3)

3. size

size表示的是数组a的规模,即元素个数

print(arr1.size) # 12
print(arr2.size) # 24

数组ndim等于shape的大小,size等于shape中所有值的乘积

numpy数据类型

numpy中数据类型主要包括整数、浮点数、复数、布尔值、字符串等,如下图所示:
Numpy数组规格及字段类型详解_第1张图片

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]])

1. dtype

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.]])

2. astype

该函数用于转换数组的数据类型

  • int32 --> float64 支持从整型到浮点型
  • float64 --> int32 从浮点型到整型存在精度损失
  • string_ --> float64/int32 纯数字的字符串可以转换为数值型
#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.]])

你可能感兴趣的:(数据处理分析,python)