Numpy基础数据结构
NumPy数组是一个多维数组对象,称为ndarray。其由两部分组成:
- 实际的数据
- 描述这些数据的元数
# 多维数组ndarray # 创建数组:arange(),类似range(),在给定间隔内返回均匀间隔的值。 # 创建数组:linspace():返回在间隔[开始,停止]上计算的num个均匀间隔的样本。 # 创建数组:zeros()/zeros_like()/ones()/ones_like() # 创建数组:eye() ndarray的数据类型 bool 用一个字节存储的布尔类型(True或False) inti 由所在平台决定其大小的整数(一般为int32或int64) int8 一个字节大小,-128 至 127 int16 整数,-32768 至 32767 int32 整数,-2 ** 31 至 2 ** 32 -1 int64 整数,-2 ** 63 至 2 ** 63 - 1 uint8 无符号整数,0 至 255 uint16 无符号整数,0 至 65535 uint32 无符号整数,0 至 2 ** 32 - 1 uint64 无符号整数,0 至 2 ** 64 - 1 float16 半精度浮点数:16位,正负号1位,指数5位,精度10位 float32 单精度浮点数:32位,正负号1位,指数8位,精度23位 float64或float 双精度浮点数:64位,正负号1位,指数11位,精度52位 complex64 复数,分别用两个32位浮点数表示实部和虚部 complex128或complex 复数,分别用两个64位浮点数表示实部和虚部
|
核心:基本索引及切片 / 布尔型索引及切片 ar = np.arange(20) |
numpy.random包含多种概率分布的随机样本,是数据分析辅助的重点工具之一 # 随机数生成 # numpy.random.rand(d0, d1, ..., dn):生成一个[0,1)之间的随机浮点数或N维浮点数组 —— 均匀分布 # numpy.random.randn(d0, d1, ..., dn):生成一个浮点数或N维浮点数组 —— 正态分布 # numpy.random.randint(low, high=None, size=None, dtype='l'):生成一个整数或N维整数数组 # 随机种子 就是每次的随机数字都会发生变化,用这个呢 就可保留随机的值 |
数组形状改变(3种) # 数组形状:.T/.reshape()/.resize() # .T方法:转置,例如原shape为(3,4)/(2,3,4),转置结果为(4,3)/(4,3,2) → 所以一维数组转置后结果不变 # numpy.reshape(a, newshape, order='C'):为数组提供新形状,而不更改其数据,所以元素数量需要一致!! # numpy.resize(a, new_shape):返回具有指定形状的新数组,如有必要可重复填充所需数量的元素。 ar3 = ar1.copy() # 数组类型转换:.astype() # 数组堆叠 # 数组拆分 # 数组简单运算 |