《手把手陪您学Python》50——数组的dtype属性

在上一篇《手把手陪您学Python》49——数组的shape属性中,我们对数组的”形状”及其表示方式有了更为深入的了解。

今天,我们将会继续学习数组的属性,但不是与数组”形状”有关的属性了,而是与数组数据类型有关的dtype属性。

1、数据类型

对于”数据类型”这个字眼我们并不陌生,它指的就是数据的大类或者说Python的对象。

在入门阶段,我们学习的数字、字符串、布尔值、列表、元组、集合、字典,以及我们刚刚学习的数组,都是不同的数字类型。

其中,数字还可以分为整型、浮点型,甚至可以根据数位和精度再进行细分。

下表列举了Python中的一些数据类型,但主要是用于展示。特别是对于初学阶段的我们来说,只需要知道int、float、bool、string等数据类型就可以了。

等到我们需要在硬盘或者内存进行更深入的读取操作时,再了解这些与存储相关的数位以及精度等数据类型。

名称

描述

bool_

布尔型数据类型(True 或者 False)

int_

默认的整数类型(类似于 C 语言中的 long,int32 或 int64)

intc

与 C 的 int 类型一样,一般是 int32 或 int 64

intp

用于索引的整数类型(类似于 C 的 ssize_t,一般情况下仍然是 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)

float_

float64 类型的简写

float16

半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位

float32

单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位

float64

双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位

complex_

complex128 类型的简写,即 128 位复数

complex64

复数,表示双 32 位浮点数(实数部分和虚数部分)

complex128

复数,表示双 64 位浮点数(实数部分和虚数部分)

unicode_

修正的Unicode类型,例如,生成一个长度为10的Unicode类型,使用”U10″

注:转自菜鸟教程。

2、dtype属性

NumPy要求数组中的每一个元素都具有相同的数据类型,因此,每一个数组都有且仅有一个数据类型,这个数据类型就是数组的dtype属性。

其实,更严谨地说,dtype也是一个对象,它包含了ndarray需要为某一种类型数据所申明的内存块信息,并用于与其他系统数据进行灵活交互。

但这个定义对我们来说太难理解了,我们就认为dtype就是数组的数据类型就好了,可能是整数、浮点数、布尔值或者字符串等等。

dtype和我们上节课所学的ndim属性很类似,都是数组的”类属性”,所以只要对实例进行类属性的引用就好了。

In [1]: import numpy as np

In [2]: data1 = [1, 2, 3, 4, 5, 6]   # 整数
        arr1 = np.array(data1)
        arr1.dtype
Out[2]: dtype('int32')

In [3]: data2 = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]   # 浮点数
        arr2 = np.array(data2)
        arr2.dtype
Out[3]: dtype('float64')

In [4]: data3 = [True, False, True, False, True, False ]   # 布尔值
        arr3 = np.array(data3)
        arr3.dtype
Out[4]: dtype('bool')

In [5]: data4 = ['a', 'b', 'c', 'd', 'e', 'f']   # 字符串
        arr4 = np.array(data4)
        arr4.dtype
Out[5]: dtype('

最后一个字符串的数据类型可能不是很好理解,其中,第一个字符是字节序,< 表示小端,> 表示大端,| 表示平台的字节序;U是上表中的最后一行Unicode的意思;1代表长度字符串的长度。后面可能用的比较少,所以简单了解一下就行。

3、数据类型的转换

在入门阶段,我们曾经学习过数据类型的转换,也就是整数(int)、浮点数(float)、字符串(str)之间的类型转换,使用的方法是int()、float()、str()。大家可以通过点击链接直达《手把手陪您学Python》12——数字进行回顾。

数组的数据类型也可以转换,也同样是在整数(int)、浮点数(float)、字符串(str)之间进行类型的转换,使用的是astype方法。

需要注意的有两点:

一是将字符串转换为数字时,只有由表达数字含义的字符组成的字符串才能够进行转换;

二是将浮点数转换为整数时,小数点后面的部分会直接被删除,而不是四舍五入。

In [6]: data5 = ['1.2', '2.8', '3.7', '4.1', '5.3', '6.9']   # 数字组成的字符串
        arr5 = np.array(data5)
        arr5.dtype
Out[6]: dtype('

以上就是对数组dtype属性以及数据类型转换方法的介绍。下一篇,我们将会利用数组的shape属性和dtype属性学习其他生成数组的方法,敬请关注。

《手把手陪您学Python》50——数组的dtype属性

感谢阅读本文!如有任何问题,欢迎留言,一起交流讨论^_^

要阅读《手把手陪您学Python》——NumPy系列文章的其他篇目,请关注公众号点击菜单选择,或点击下方链接直达。

《手把手陪您学Python》46——NumPy介绍

《手把手陪您学Python》47——ndarray

《手把手陪您学Python》48——数组的生成方法1

《手把手陪您学Python》49——数组的shape属性

《手把手陪您学Python》系列文章入门阶段的篇目已经全部完成。

为更加清晰地展示Python入门阶段的知识体系,整理了如下的鱼骨图,以方便大家查阅。

《手把手陪您学Python》50——数组的dtype属性

如要阅读相应篇目的内容,请关注公众号点击菜单选择,或点击下方链接直达。

《手把手陪您学Python》1——为什么要学Python?

《手把手陪您学Python》2——Python的安装

《手把手陪您学Python》3——PyCharm的安装和配置

《手把手陪您学Python》4——Hello World!

《手把手陪您学Python》5——Jupyter Notebook

《手把手陪您学Python》6——字符串的标识

《手把手陪您学Python》7——字符串的索引

《手把手陪您学Python》8——字符串的切片

《手把手陪您学Python》9——字符串的运算

《手把手陪您学Python》10——字符串的函数

《手把手陪您学Python》11——字符串的格式化输出

《手把手陪您学Python》12——数字

《手把手陪您学Python》13——运算

《手把手陪您学Python》14——交互式输入

《手把手陪您学Python》15——判断语句if

《手把手陪您学Python》16——循环语句while

《手把手陪您学Python》17——循环的终止

《手把手陪您学Python》18——循环语句for

《手把手陪您学Python》19——第一阶段小结

《手把手陪您学Python》20——列表

《手把手陪您学Python》21——元组

《手把手陪您学Python》22——字典

《手把手陪您学Python》23——内置序列函数

《手把手陪您学Python》24——集合

《手把手陪您学Python》25——列表推导式

《手把手陪您学Python》26——自定义函数

《手把手陪您学Python》27——自定义函数的参数

《手把手陪您学Python》28——自定义函数的返回值

《手把手陪您学Python》29——匿名函数

《手把手陪您学Python》30——模块

《手把手陪您学Python》31——文件的打开

《手把手陪您学Python》32——文件的读取

《手把手陪您学Python》33——文件的关闭

《手把手陪您学Python》34——文件的写入

《手把手陪您学Python》35——数据的存储

《手把手陪您学Python》36——错误和异常处理

《手把手陪您学Python》37——程序的重构

《手把手陪您学Python》38——第二阶段小结

《手把手陪您学Python》39——面向对象

《手把手陪您学Python》40——类的定义、属性与实例化

《手把手陪您学Python》41——类的方法与实例方法

《手把手陪您学Python》42——类的魔法方法

《手把手陪您学Python》43——类的继承

《手把手陪您学Python》44——类的导入

《手把手陪您学Python》45——Python入门完结篇

For Fans:关注”亦说Python”公众号,回复”手50″,即可免费下载本篇文章所用示例语句。

《手把手陪您学Python》50——数组的dtype属性 亦说Python——Python爱好者的学习分享园地

Original: https://blog.csdn.net/mnpy2019/article/details/116157481
Author: mnpy2019
Title: 《手把手陪您学Python》50——数组的dtype属性

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/762763/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • python循环调用函数速度慢_Python:调用函数真的很慢?

    我有一个Element类,它有一些函数,比如:def clean(self): self.dirty = False 我有1024个元素,我在一个while 1:循环中对每个元素调…

    Python 2023年9月22日
    045
  • Django-安装教程

    Django-安装教程 Django简介 Django安装 * python安装(之前文章已经介绍过) Django安装 配置系统环境 创建项目 * cmd下或者linux下创建项…

    Python 2023年8月6日
    036
  • Django开发

    文章目录 一、中间件 二.后台管理 三.表单组件form的应用 四.表单组件Modelform的应用 五.登陆注册 六.文件上传 七.orm 一、中间件 中间件概念 如何自定义一个…

    Python 2023年8月4日
    057
  • Python中可视化工具包Matplotlib和Visdom介绍

    一、Matplotlib 简介 Matplotlib 是一个可视化工具包,可以让我们使用Python 来可视化数据。很多更高级的绘图库,也都是基于Matplotlib,比如seab…

    Python 2023年9月6日
    048
  • JavaScript快速上手

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Python 2023年6月9日
    0109
  • 使用python绘制笛卡尔心形线

    #笛卡尔心形线,r=a(1-sinθ) import math import matplotlib.pyplot as plt import numpy as np r=[] an…

    Python 2023年9月2日
    038
  • Matplotlib-图片灰度处理(3种方法)

    图片的灰度化处理 灰度化处理就是将一幅色彩图像转化为灰度图像的过程。彩色图像分为R,G,B三个分量,分别显示出红绿蓝等各种颜色,灰度化就是使彩色的R,G,B分量相等的过程。灰度值大…

    Python 2023年9月3日
    055
  • django对数据库的增删改查

    1.增加数据 >>>from &#x9879;&#x76EE;&#x540D;&#x79F0;.models import &am…

    Python 2023年8月3日
    047
  • JavaScript入门①-基础知识筑基

    JavaScript入门系列目录 JavaScript入门①-基础知识筑基 JavaScript入门②-函数(1)基础{浅出} JavaScript入门③-函数(2)原理{深入}执…

    Python 2023年10月13日
    066
  • Python——连接数据库操作

    要先配置环境变量,然后cmd安装:pip install pymysql 1、连接MySQL,并创建wzg库 #引入decimal模块 import pymysql #连接数据库 …

    Python 2023年5月24日
    076
  • Scrapy框架五

    目录 Scrapy 下载中间件 设置随机请求头 GitHub模拟登录 用scrapy模拟登录人人 Scrapy 下载中间件 下载中间件是scrapy提供用于用于在爬虫过程中可修改R…

    Python 2023年10月7日
    024
  • Python函数:sort_values()

    用法: DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind=’quicksort…

    Python 2023年8月7日
    051
  • [HCTF 2018]admin 1学习笔记

    之前在云演做ctf题,虽然简单但比较系统,感觉比较适合新手,但也要练一下有点难度的ctf,所以又做了一下buuctf,果然上来就是sql注入,xss注入,发现没什么效果,然后跑去看…

    Python 2023年8月14日
    056
  • 大规模数据分析统一引擎Spark最新版本3.3.0入门实战

    @ 概述 定义 Hadoop与Spark的关系与区别 特点与关键特性 组件 集群概述 集群术语 部署 概述 环境准备 Local模式 Standalone部署 Standalone…

    Python 2023年10月22日
    034
  • python 编辑器提示 do not use bare except

    在捕获异常时,应该尽可能指定特定的异常,而不是只使用 except 语句。 比如说, except 语句会捕获 KeyboardInterrupt 和 SystemExit 异常,…

    Python 2023年11月9日
    034
  • Pandas loc与iloc

    先来看一下示例: #!/usr/bin/python import pandas as pd &#x4E09;&#x4E2A;&#x5B57;&#x…

    Python 2023年8月17日
    039
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球