笔记来源:python数据分析【Ivan Idris著, 韩波译】
一、NumPy数组对象
NumPy中的多维数组称为ndarray,其主要有两个部分组成
1.数据本身
2.描述数据的元数据
在数组的处理过程中,原始信息不受影响,变化只是元数据而已
np.arange()函数可以产生数组,主要用来存放一组数值的一维数组,而ndarray则可以产生具有一个及以上的维度.
向量(一维NumPy数组)的创建与及向量形状
import numpy as np
a = np.arange(5)
print(a) # array([0, 1, 2, 3, 4])
print(a.shape) # (5,)
上述向量有5个元素,数值分别是0-4,该数组的shape属性是一个元组(单元素元组),存放的是数组在每一个维度的长度。
二、创建多维数组
import numpy as np
m = np.array([arange(2),arange(2)])
print(m)
# array([0, 1],
# [0, 1]])
print(m.shape) # (2, 2)
在上述代码中,使用了array()函数创建数组时,需要传递一个对象,这个对象就是小括号里的内容,其内容必须为数组类型,如这里为列表形式,即两个数组组成的一个列表,该对象是array()函数唯一所需要的参数,其还可以有很多可选参数,并且这些参数都带有预定义的缺省选项
三、NumPy的数值类型
(1)对于科学计算来说,python里支持的整型、浮点型、复数型还不够,仍然需要更多的数据类型,以下为NumPy的各种数值类型
类型 | 说明 |
bool | 布尔型 (True or False) 占用1bit |
inti | 长度取决于平台整数(int32 或int64) |
int8 | 字节类型 ( -2^7 ~ 2^7-1) |
int16 | 整型 (-2^15 ~ 2^15-1) |
int32 | 整型 (-2^31 ~ 2^31-1) |
int64 | 整型 ( -2^63 ~ 2^63-1) |
uint8 | 无符号整型 ( 0 ~ 2^8-1 ) |
uint16 |
无符号整型 ( 0 ~ 2^16-1 ) |
uint32 | 无符号整型 ( 0 ~ 2^32-1 ) |
uint64 | 无符号整型 ( 0 ~ 2^64-1 ) |
float16 | 半精度浮点型 【符号为占1bit、指数占5bit、尾数占10bit】 |
float32 | 单精度浮点型 【符号为占1bit、指数占8bit、尾数占23bit】 |
float64或者float | 双精度浮点型 【符号为占1bit、指数占11bit、尾数占52bit】 |
complex64 | 复数类型(两个32位浮点数(实部、虚部)表示) |
complex128或者complex | 复数类型(两个64位浮点数(实部、虚部)表示) |
谨记:不允许将复数类型转为整型、也不可将复数转为浮点数,但是可以