作者:cc晨晨V_842 | 来源:互联网 | 2023-09-16 10:27
在上一篇《手把手陪您学Python》49——数组的shape属性中,我们对数组的“形状”及其表示方式有了更为深入的了解。今天,我们将会继续学习数组的属性,但不是与数组“形状”有关的
前面的《手把手陪您学Python》 49——数组的shape属性更深入地了解了数组的“形状”及其表示方式。
现在,我们将继续学习数组属性,但它是与数组数据类型相关的dtype属性,而不是与数组的“形状”相关的属性。
1、数据类型
我们不太清楚“数据类型”这个词。 指向数据的大型类或Python中的对象。
在入门阶段,我们学习的数字、字符串、布尔值、列表、元组、集合、词典以及我们刚学习的数组都是不同的数字类型。
其中,数字可以分为整数型、浮点型,进而可以根据数字和精度进一步细分。
下表列出了Python的一些数据类型,但主要用于演示。 特别是对初学阶段的我们来说,只要知道int、float、bool、string等数据类型就可以了。
如果需要对硬盘和内存执行更详细的读取操作,则需要了解这些与存储相关的数据类型,例如数字和精度。
名字
说明
bool_
布尔数据类型(True或False )
int_
的默认整数类型。 类似于c语言的long、int32或int64
国际铁路公司
与c的int类型一样,int32或int 64很常见
国际贸易协定
用于索引的整数类型。 与c的ssize_t类似,通常保持int32或int64 )
int8
字节(-128 to 127 ) )
int16
整数(-32768 to 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位的多个
complex64
复数表示双32位浮点数(实数部分和虚数部分)
complex128
复数表示双64位浮点数(实数部分和虚数部分)
优衣码
修改的Unicode类型。 例如,生成长度为10的Unicode类型,然后使用" U10 "
注:从私人教程开始。
2、dtype属性
在NumPy中,数组中的所有元素都必须具有相同的数据类型,因此每个数组只有一种数据类型。 此数据类型是数组的dtype属性。
实际上,更严格地说,dtype也是一个对象,它包含需要为ndarray中的某个数据类型声明的内存块信息,用于与其他系统数据灵活地交互。
但是,这个定义对我们来说很难理解,所以可以认为dtype是数组的数据类型。 它可能是整数、浮点数、布尔值或字符串等。
dtype与上一课中学习的ndim属性非常类似,它是数组的“类属性”,因此您只需对实例引用类属性即可。
in [1] 3360 importnumpyasnpin [2] : data1=[ 1,2,3,4,5,6 ] #整数arr1=NP.array (数据1 ) arr1.dtypeout ) 2 6.0 ) #浮点数arr2=NP.array(data2) arr2.dtypeout(3) :dtype )、float64 )、in ) 465:data3=[true,False,fate ]
', 'e', 'f'] # 字符串 arr4 = np.array(data4) arr4.dtypeOut[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.dtypeOut[6]: dtype('以上就是对数组dtype属性以及数据类型转换方法的介绍。下一篇,我们将会利用数组的shape属性和dtype属性学习其他生成数组的方法,敬请关注。
感谢阅读本文!如有任何问题,欢迎留言,一起交流讨论^_^
要阅读《手把手陪您学Python》——NumPy系列文章的其他篇目,请关注公众号点击菜单选择,或点击下方链接直达。
《手把手陪您学Python》46——NumPy介绍
《手把手陪您学Python》47——ndarray
《手把手陪您学Python》48——数组的生成方法1
《手把手陪您学Python》49——数组的shape属性
《手把手陪您学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入门完结篇
For Fans:关注“亦说Python”公众号,回复“手50”,即可免费下载本篇文章所用示例语句。
亦说Python——Python爱好者的学习分享园地