首页 > 编程知识 正文

python数组方法(python定义二维数组)

时间:2023-05-06 12:58:13 阅读:93354 作者:369

上一个《手把手陪您学Python》 49——数组的shape属性对数组的“形状”及其表示方法有了更深入的了解。

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

1、数据类型

我们不太清楚“数据类型”这个词。 指数据的大类,或Python对象。

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

其中,数字可以分为整数型、浮点型,进而可以根据数字和精度进一步细分。

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

如果需要对硬盘和内存进行更详细的读取操作,则需要了解这些存储相关的数据类型,如数字和精度。

名字

说明

布尔_

布尔数据类型(真或假)

英特尔公司

的默认整数类型。 类似于c语言的长整型、int32或int64

国际航空运输协会

与c的int类型一样,int32或int 64很常见

国际电信联盟

用于索引的整数类型。 与c的ssize_t相似,通常保持int32或int64 )

int8型

字节(-128到127 )

int16

整数(-32768到32767 ) ) ) ) )。

int32

整数(-2147483648 to 2147483647 ) ) ) )。

int64

整数(-9223372036854775808 to 922337203685475807 ) ) ) ) ) )

uint8

无符号整数(0 to 255 )。

uint16

无符号整数(0 to 65535 )。

uint32

无符号整数(0 to 4294967295 )。

uint64

无符号整数(0 to 18446744073709551615 ) ) ) )。

浮点型

float64型的简称

浮点16

半精度浮点数字,包括1符号位、5索引位和10尾数位

浮点32

单精度浮点数字,包括1符号位、8索引位和23尾数位

浮点64

双精度浮点数。 包括1符号位、11指数位、52尾数位

联合体_u

complex128类型的缩写,即128位的多个

复合64

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

复合128

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

优衣库

修改的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('<U1')

最后一个字符串的数据类型可能不是很好理解,其中,第一个字符是字节序,< 表示小端,> 表示大端,| 表示平台的字节序;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('<U3') In [7]: arr6 = arr5.astype('float64') # 字符串转换为浮点数 arr6 Out[7]: array([1.2, 2.8, 3.7, 4.1, 5.3, 6.9]) In [8]: arr6.dtype Out[8]: dtype('float64') In [9]: arr7 = arr6.astype('int') # 浮点数转换为整数,小数点后的部分被删除 arr7 Out[9]: array([1, 2, 3, 4, 5, 6]) In [10]: arr7.dtype Out[10]: dtype('int32') In [11]: arr8 = arr7.astype('str') arr8 Out[11]: array(['1', '2', '3', '4', '5', '6'], dtype='<U11')

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


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

要阅读《手把手陪您学Python》——NumPy系列文章的其他篇目,关注头条号查阅文章列表,或点击下方链接直达。

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

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

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

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


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

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

如要阅读相应篇目的内容,请关注头条号查阅文章列表,或根据《手把手陪您学Python》45——Python入门完结篇中的文章目录和简介,点击链接直达。

《手把手陪您学Python》入门阶段包括如下文章内容:

《手把手陪您学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入门完结篇

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。