2-02-1 NumPy 数据类型

NumPy 数据类型

NumPy 支持的数据类型比 Python 内置的类型要多,下表列举了常用 NumPy 基本类型。

表 2.2.1 NumPy 支持的数据类型

名称描述
bool布尔型数据类型(True 或者 False)
int默认的整数类型(类似于 C 语言中的 long,int32 或 int64)
int8字节(-128 to 127)
int16整数(-32768 to 32767)
int32整数(-2147483648 to 2147483647)
int64整数(-9223372036854775808 to 9223372036854775807)
uint8无符号整数(0 to 255)
uint16无符号整数(0 to 65535)
uint32无符号整数(0 to 4294967295)
uint64无符号整数(0 to 18446744073709551615)
floatfloat64 类型的简写
float16半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位
float32单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位
float64双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位
complexcomplex128 类型的简写,即 128 位复数
complex64复数,表示双 32 位浮点数(实数部分和虚数部分)
complex128复数,表示双 64 位浮点数(实数部分和虚数部分)

NumPy ndarray对象
NumPy 内包含一个常用的对象 ndarray (N-dimension array),也是存储和变换数据的主要⼯具,特点是具有 N 维数组,是一系列同类型数据的集合,以 0 为下标索引。ndarray 具有以下特性:

  • 是用于存放同类型元素的多维数组。
  • 每个元素在内存中都有相同存储大小的区域。

NumPy 数组 (array) 的维度 (dimesions) 称为秩(rank),秩就是轴(axis)的数量,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推。

在 NumPy中,每一个线性的数组称为是一个轴,也就是一个维度。比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。所以一维数组就是 NumPy 中的轴(axis),第一个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量——秩,就是数组的维数。行为水平的,如同平面坐标的 Y 轴,列为垂直的,如同平面坐标的 X 轴。

NumPy 的数组中比较重要 ndarray 对象属性有:

属性说明
ndarray.ndim秩,即轴的数量或维度的数量
ndarray.shape数组的维度,对于矩阵,n 行 m 列
ndarray.size数组元素的总个数,相当于 shape 中 n*m 的值
ndarray.dtypendarray 对象的元素类型
ndarray.itemsizendarray 对象中每个元素的大小,以字节为单位
ndarray.flagsndarray 对象的内存信息
ndarray.realndarray元素的实部
ndarray.imagndarray 元素的虚部
ndarray.data包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。

我门透过以下例子来说明说明轴、维度与秩的关系,底下我们建立一个二维数组,大小为 3 * 2 ( 3 行,2 列),而所谓的 轴 0,就是针对每一行进行操作,轴 1 ,就是针对每一列进行操作,比较简单的判断方法就是 shape 的第 1 的数就是 axis 0,第 2 的数就是 axis 1。

  
12
34
56

实例

import numpy as np 
# 创建一个 3*2 的数组
a = np.array([[1, 2],  [3, 4], [5, 6]])
a
# 显示 ndarray 的形状
a.shape
# 显示 ndarray 轴的数量或维度的数量
a.ndim
# 对 轴 0 进行加总
a.sum(axis=0)
# 对 轴 1 进行加总
a.sum(axis=1)

运行结果如下图所示, ndarray.shape 中的呈现方式是 行 * 列。

在这里插入图片描述

圖 2-2-1 ndarray的基本操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值