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

本文介绍了NumPy数组的基本属性,包括ndim(维度)、shape(形状)和size(大小),并展示了如何使用这些属性来描述二维和三维数组。同时,详细讨论了NumPy中的数据类型dtype,以及如何通过astype()函数进行数据类型转换,包括整数到浮点数、浮点数到整数以及字符串到数值类型的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者原创,转载请注明


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中数据类型主要包括整数、浮点数、复数、布尔值、字符串等,如下图所示:
在这里插入图片描述

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.]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值