版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(/apps/utm_so bannerNumpy 中文用户指南 3.1 数据类型ApacheCN_飞龙 (/u/b508a6aa98eb)2016.03.24 19:44* 字数 1376 阅读 6154 评论 0 喜欢 37(/u/b508a6aa98eb)关注原文:Data types (?t=/doc/numpy-dev/user/basics.types.html)译者:飞龙 (?t=/wizardforcel)(htt
2、ps:/ click.yo slot=30 ab06-4cf295e另见数据类型对象 (?t=/doc/numpy-dev/reference/arrays.dtypes.html#arrays-dtypes)数组类型和类型之间的转换NumPy支持的数值类型比Python更多。这一节会讲述所有可用的类型,以及如何改变数组的数据类型。数据类型描述bool_以字节存储的布尔值(True 或 False)int_默认的整数类型(和 C 的 long 一样,是 int64 或者 int32)intc和 C 的 int
3、 相同(一般为 int64 或 int32)intp用于下标的整数(和 C 的 ssize_t 相同,一般为int64 或者 int32)int8字节(-128 到 127)int16整数(-32768 到 32767)int32整数(-2147483648 到 2147483647)int64整数(-9223372036854775808 到 9223372036854775807)uint8无符号整数(0 到 255)uint16无符号整数(0 到 65535)(/apps/utm_so banner此外,Intel平台相关的C整数类型 short 、 long , long long 和
4、它们的无符号版本是有定义的。NumPy数值类型是dtype对象的实例,每个都有独特的特点。一旦你导入了NumPy:(https:/click.yo import numpy as npslot=30 ab06-4cf295e这些 dtype 都可以通过 np.bool_ , np.float32 以及其它的形式访问。更高级的类型不在表中给出,请见结构化数组 (?t=http:/docs.sci /doc/numpy-dev/user/basics.rec.html#structured-arrays)一节。有5种基本的数值类型:布尔(
5、bool ),整数( int ),无符号整数( uint ),浮点( f loat )和复数。其中的数字表示类型所占的位数(即需要多少位代表内存中的一个值)。有些类型,如 int 和 intp ,依赖于平台(例如32位和64位机)有不同的位数。在与低级别的代码(如C或Fortran)交互和在原始内存中寻址时应该考虑到这些。数据类型可以用做函数,来将Python类型转换为数组标量(详细解释请见数组标量一节),或者将Python的数值序列转换为同类型的NumPy数组,或者作为参数传入接受dty pe的关键词的NumPy函数或方法中,例如: import numpy as np x = np.flo
6、at32(1.0) x 1.0 y = _(1,2,4) yarray(1, 2, 4) z = np.arange(3, dtype=np.uint8) zarray(0, 1, 2, dtype=uint8)数组类型也可以由字符代码指定,这主要是为了保留旧的包的向后兼容,如Numeric。一些文档仍旧可能这样写,例如:数据类型描述uint32无符号整数(0 到 4294967295)uint64无符号整数(0 到 18446744073709551615)float_float64 的简写float16半精度浮点:1位符号,5位指数,10位尾数float32单精度浮点:1位符号
7、,8位指数,23位尾数float64双精度浮点:1位符号,11位指数,52位尾数complex_complex128 的简写complex64由两个32位浮点(实部和虚部)组成的复数complex128由两个64位浮点(实部和虚部)组成的复数 np.array(1, 2, 3, dtype=f)array( 1., 2., 3., dtype=float32)(/apps/utm_so banner我们推荐用 dtype 对象来取代。要转换数组类型,使用 .astype() 方法(推荐),或者将类型自身用作函数,例如: z.astype(float) array( 0., 1., 2.) np
8、.int8(z)array(0, 1, 2, dtype=int8)需要注意的是,上面我们使用Python的浮点对象作为 dtype。NumPy知道 int 是指 np.in t_ , bool 指 np.bool_ , float 指 np.float_ , complex 指 plex_ 。其他数据类型在P ython中没有对应。通过查看 dtype 属性来确定数组的类型: z.dtypedtype(uint8)(https:/ click.yo slot=30 ab06-4cf295edtype 对象还包含有关类型的信息,如它的位宽和字节顺序。数据类型也可以间接用于类型的查询
9、属性,例如检查是否是整数: d = np.dtype(int) ddtype(int32) np.issubdtype(d, int)True np.issubdtype(d, float)False数组标量NumPy一般以数组标量返回数组元素(带有相关dtype的标量)。数组标量不同于Pytho n标量,但他们中的大部分可以互换使用(一个主要的例外是2.x之前的Python,其中整数数组标量不能作为列表和元组的下标)。也有一些例外,比如当代码需要标量的一个非常特定的属性,或检查一个值是否是特定的Python标量时。一般来说,总是可以使用相应的Python类型函数(如 int , float
10、, complex , str , unicode ),将数组标量显式转换为Python标量来解决问题。使用数组标量的主要优点是,它们保留了数组的类型(Python可能没有匹配的标量类型,如 int16 )。因此,使用数组标量确保了数组和标量之间具有相同的行为,无论值在不在数组中。NumPy标量也有许多和数组相同的方法。扩展精度Python 的浮点数通常都是64位的,几乎相当于 np.float64 。在一些不常见的情况下, 更精确的浮点数可能更好。是否可以这样做取决于硬件和开发环境:具体来说,x86 机器提供了80位精度的硬件浮点支持,虽然大多数 C 编译器都以 long double 类型
11、来提供这个功能,但 MSVC (标准的Windows版本)中 long double 和 double 一致。NumPy 中可以通过 np.longdouble 来使用编译器的 long double (复数为 np.clongdouble )。你可以通过 np.finfo(np.longdouble) 来了解你的 numpy 提供了什么。(/apps/utm_so bannerNumPy 不提供比 C 的 long double 精度更高的 dtype;特别是128位 IEEE 四精度数据类型(Fortran 的 REAL*16 )是不能用的。为了高效的内存对齐, np.longdouble
12、 通常填充零位来存储,共96位或128位。哪个更有效取决于硬件环境;通常在32位系统中,他们被填充到96位,而在64位系统,他们通常是填充到128位。 np.longdouble 以系统默认的方式填充;而 np.float96 和 np.float128 为那些需要特定填充位的用户提供。尽管名字不同, np.float96 和 np.float128 都只提供和np.longdouble 相同的精度,也就是说,大多数 x86 机器上面只有80位,标准Windo ws 版本上只有64位。注意,即使 np.longdouble 比Python的 float 精度更高,也很容易失去额外的精度,因为P
13、ython经常强行以 float 来传值。例如, % 格式化运算符要求其参数转换成标准的Pytho n类型,因此它不可能保留额外的精度,即使要求更多的小数位数。可以使用 1 + np.finf o(np.longdouble).eps 来测试你的代码。(https:/ click.yo slot=30 ab06-4cf295e给文章点个赞吧,这样你也会获得简书钻。赞赏支持C 数据分析/数据挖掘/科学计算 (/nb/3643232)文章 著作权归作者所有ApacheCN_飞龙 (/u/b508a6aa98eb)写了 1964261 字,被 71451 人关注,获得了 9206 个喜欢(/u/b5
14、08a6aa98eb)关注githubwizardforcel / 我生不为逐鹿来,都门懒筑黄金台。状元百官都如狗,总是刀下觳觫材。喜欢37更多分享(/apps/utm_so banner(/p/428251ede1aa)被以下专题收入,发现更多相似内容数 据 科 学 / 机 器 . (/c/32a58a3de35f? utm_source=desktop&utm_medium=notes-included-collection)我爱编程 (/c/7847442e0728?utm_source=desktop&utm_medium=notes- included-collection)pyth
15、on (/c/fe36347798b9?utm_source=desktop&utm_medium=notes-included-collection)(https:/ click.yo slot=30 ab06-4cf295e(/p/a380222a3292?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommend利用Python进行数据分析第2版第4章 NumPy基础:数组和矢量计算 (第1章 准备工作第2章 Python语法基础,IPython和Jupyter第3章 Python的数
16、据结构、函数和文件第4章NumPy基础:数组和矢量计算第5章 pandas入门第6章 数据加载、存储与文件格式第7章 数据清洗和准备SeanCheney (/u/130f76596b02?utm_campaign=maleskine&utm_content=user&utm_medium=seo_notes&utm_source=recommendTutorialsPoint NumPy 教 程 (/p/57e3c0a92f3a?utm_campaign=maleski来源:NumPy Tutorial - TutorialsPoint 译者:飞龙 协议:CC BY-NC-SA 4.0 在线阅
17、读 PDF格式 EPUB格式MOBI格式 代码仓库 NumPy - 简介 NumPy 是一个 Python 包。 它代表 “Numeric Pyt.ApacheCN_ 飞 龙 (/u/b508a6aa98eb? utm_campaign=maleskine&utm_content=user&utm_medium=seo_notes&utm_source=recommend(/p/13cbbeb2f2d5?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=python科学计算之Numpy (/p/13c
18、bbeb2f2d5?utm_campaign=maleskinemendreco mNumpy的组成与功能 Numpy(Numeric Python)可以被理解为一个用python实现的科学计算包,包括: 1.强大的N维数组对象Array; 2.成熟的函数库; 3.实用的线性代数、傅里叶变换和随机数生成函数。 线性代数是不 做 大 哥 好 多 年 (/u/31b8f3eb4bdb? utm_campaign=maleskine&utm_content=user&utm_medium=seo_notes&utm_source=recom(/ampepnsd/utm_sobannernumpy (
19、/p/f4db55bd7270?utm_campaign=maleskine&utm_content=noimport numpy as np 创建ndarray data1 = 6,7.5, 8, 0, 1arr1 = np.array(data1) print(arr1) 创建data2 = 1,2,3,4,5,6,7,8arr2 = np.arr.数组陆 文 斌 (/u/b7a8c12b24cb? utm_campaign=maleskine&utm_content=user&utm_medium=seo_notes&utm_source=recommendNumPy基础:数组和矢量计算
20、 (/p/edd895d5a377?utm_campaign=malesNumPy(Numerical Python的简称)是高性能科学计算和数据分析的基础包。其部分功能包括: ndarray ,一个具有矢量算术运算和复杂广播能力的快速且节省空间的数组。用于对整组数据进行快速运算的标进 步 小 小 青 年 (/u/1b9d93d351fe? utm_campaign=maleskine&utm_content=user&utm_medium=seo_notes&utm_source=recommend(https:/ click.yo slot=30 ab06-4cf295e一切为了永远 (/
21、p/9d250784e0b4?utm_campaign=maleskine&utm_conte文雅月饱满的种子钻进复苏的土地,她闭着眼,连同它所有的希望一起埋进了深深的土壤,任凭弱小的身躯 经历膨胀与分裂,她说:一切为了秋天 风雨猖狂,烈日如火,绿浪在原野上翻滚,一片茂盛景象。花儿雅月在说 (/u/7c1aa3d6ee3b?utm_campaign=maleskine&utm_content=user&utm_medium=seo_notes&utm_source=recommend(/p/3db1908e2b4a?utm_campaign=maleskine&utm_content=note
22、&utm_medium=seo_notes&utm_source=recommend自由 (/p/3db1908e2b4a?utm_campaign=maleskine&utm_content=note身由己 神随心 厌不做 谓自由慎 独 莫 傲 (/u/e2fdb05376d4? utm_campaign=maleskine&utm_content=user&utm_medium=seo_notes&utm_source=recommend(/p/8a3d0de16217?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=破茧撕破的是自己的过去 (/p/8a3d0de16217?utm_campaign=maleskine&mend今天你的城市下雨了吗?
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026青海师范大学招聘博士备考题库(第一批)附答案详解ab卷
- 2026北京怀柔医院派遣合同制康复技师招聘2人备考题库及答案详解参考
- 2026河南省中医院(河南中医药大学第二附属医院)招聘105人备考题库含答案详解(模拟题)
- 2026年3月浙江嘉兴市海盐县公益性岗位招聘2人备考题库(第三批)含答案详解(夺分金卷)
- 2026广东中山市市场监督管理局港口分局招募见习生1人备考题库附答案详解(典型题)
- 2026江苏苏州大学科研助理岗位招聘7人备考题库及答案详解(全优)
- 电力设备维护保养及保护技术方案
- 工程项目风险分析与案例解决方案
- 工程项目部人员配备及管理方案范文
- 2026四川宜宾南溪人力资源集团招聘考试参考题库及答案解析
- (2025年版)绝经后宫腔积液诊治中国专家共识
- 中烟机械技术中心笔试试题2025
- DB43∕T 3023-2024 箭叶淫羊藿种子育苗技术规程
- 项目部质量培训
- 2025年电梯检验员资格考试历年真题及答案试题试卷(含解析)
- 肿瘤免疫治疗不良反应管理要点
- 手足显微外科科室特色解析
- 静脉采血操作并发症的预防与处理
- 2025年乡村振兴考试题及答案
- 工程导论彭熙伟课件
- 测绘工程应急预案
评论
0/150
提交评论