首页 > 编程语言 > 详细

Python numpy详解

时间:2020-04-22 23:07:33      阅读:75      评论:0      收藏:0      [点我收藏+]

一、Numpy介绍

  • 一个强大的N维数组对象
  • 支持大量的数据运算
  • 集成C / C++和Fortran代码的工具
  • 众多机器学习框架的基础库(Scipy/Pandas/scikit-learn/Tensorflow)

numpy在存储数据的时候,数据与数据的地址都是连续的,这样就给我们操作带来了好处,处理速度快。在计算机内存里是存储在一个连续空间上的,而对于这个连续空间,我们如果创建 Array 的方式不同,在这个连续空间上的排列顺序也有不同。

  • 创建array的默认方式是 “C-type” 以 row 为主在内存中排列

  • 如果是 “Fortran” 的方式创建的,就是以 column 为主在内存中排列

二、numpy属性

1、ndarray   N维数组类型

  数组属性

属性名字属性解释
ndarray.shape 数组维度的元组
ndarray.flags 有关阵列内存布局的信息
ndarray.ndim 数组维数
ndarray.size 数组中的元素数量
ndarray.itemsize 一个数组元素的长度(字节)
ndarray.nbytes 数组元素消耗的总字节数

  数组类型,dtype是numpy.dtype类型

名称描述简写
np.bool 用一个字节存储的布尔类型(True或False) ‘b‘
np.int8 一个字节大小,-128 至 127 ‘i‘
np.int16 整数,-32768 至 32767 ‘i2‘
np.int32 整数,-2 31 至 2 32 -1 ‘i4‘
np.int64 整数,-2 63 至 2 63 - 1 ‘i8‘
np.uint8 无符号整数,0 至 255 ‘u‘
np.uint16 无符号整数,0 至 65535 ‘u2‘
np.uint32 无符号整数,0 至 2 ** 32 - 1 ‘u4‘
np.uint64 无符号整数,0 至 2 ** 64 - 1 ‘u8‘
np.float16 半精度浮点数:16位,正负号1位,指数5位,精度10位 ‘f2‘
np.float32 单精度浮点数:32位,正负号1位,指数8位,精度23位 ‘f4‘
np.float64 双精度浮点数:64位,正负号1位,指数11位,精度52位 ‘f8‘
np.complex64 复数,分别用两个32位浮点数表示实部和虚部 ‘c8‘
np.complex128 复数,分别用两个64位浮点数表示实部和虚部 ‘c16‘
np.object_ python对象 ‘O‘
np.string_ 字符串 ‘S‘
np.unicode_ unicode类型 ‘U‘
# 创建一个数组
a = np.array([[1,2,3],[4,5,6]])
b = np.array([1,2,3,4])
c = np.array([[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6]]])

# 类型,大小,字节数
a.dtype            # dtype(‘int64‘)
a.size               # 元素的个数 6
a.nbytes           # 总字节数 48
a.itemsize         # 一个元素的长度            

# 形状比较
# 1维形状 (4,)
# 2维形状 (2,3)
# 3维形状 (2, 2, 3)
a.shape                  # (2, 3)
b.shape                   #( 4,)
c.shape                 # (2, 2, 3)

aa = np.array([[1,2,3],[4,5,6]], dtype=np.float32)
aa.dtype         # dtype(‘float32‘)



# 创建数组的时候指定类型
arr = np.array([python,tensorflow,scikit-learn,numpy],dtype = np.string_)
arr.dtype      #array([b‘python‘, b‘tensorflow‘, b‘scikit-learn‘, b‘numpy‘], dtype=‘|S12‘)

 

待补充

 

Python numpy详解

原文:https://www.cnblogs.com/caijunchao/p/12757148.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!