Numpy 属性 方法 操作 速查表

Numpy 速查

    • 1.Numpy 数据类型
    • 2.创建数组方法
        • numpy.array()
        • numpy.asarray()
        • numpy.arange()
        • numpy.linspace()
        • numpy.logspace()
        • numpy.empty()
        • numpy.zeros()
        • numpy.ones()
        • numpy.eye()
        • numpy.frombuffer()
        • numpy.fromiter()
    • 3.改变数组的维度或者形状
        • numpy.reshape()
        • numpy.ravel()
        • numpy.resize()
        • numpy.ndarray.flatten()
        • numpy.ndarray.shape
        • numpy.ndarray.transpose() & numpy.ndarray.T
        • numpy.swapaxes()

1.Numpy 数据类型

NumPy 数组包含同一类型的值,支持的数据类型比 Python 内置的类型更多,构建一个数组时,可以用一个字符串参数 dtype 来指定数据类型:

np.zeros(10, dtype='int16')
np.zeros(10, dtype=np.int16)
数据类型 描述
bool_ 布尔值(True 或者 False),用一个字节存储
int_ 默认的整型(类似于 C 语言中的 long,通常情况下是 int32 或 int64)
intc 同 C 语言的 int 相同(通常是 int32 或 int64)
intp 用作索引的整型(和 C 语言的 ssize_t 相同,通常情况下是 int32 或 int64)
int8 字节(byte,范围从 –128 到 127),可用 i1 缩写代替
int16 整型(范围从 –32768 到 32767),可用 i2 缩写代替
int32 整型(范围从 –2147483648 到 2147483647),可用 i4 缩写代替
int64 整型(范围从 –9223372036854775808 到 9223372036854775807),可用 i8 缩写代替
uint8 无符号整型(范围从 0 到 255)
uint16 无符号整型(范围从 0 到 65535)
uint32 无符号整型(范围从 0 到 4294967295)
uint64 无符号整型(范围从 0 到 18446744073709551615)
float_ float64 的简化形式
float16 半精度浮点型,包括:1 比特位符号,5 比特位指数,10 比特位尾数
float32 单精度浮点型,包括:1 比特位符号,8 比特位指数,23 比特位尾数
float64 双精度浮点型,包括:1 比特位符号,11 比特位指数,52 比特位尾数
complex_ complex128 的简化形式
complex64 复数,表示双 32 位浮点数(实数部分和虚数部分)
complex128 复数,表示双 64 位浮点数(实数部分和虚数部分)

2.创建数组方法

方法 描述
numpy.array() 将输入数据(列表、元组、Ndarray 等)转换为数组形式当数据源为 Ndarray 时,该方法仍然会 copy 出一个副本,占用新的内存
numpy.asarray() 将输入数据(列表、元组、Ndarray 等)转换为数组形式当数据源为 Ndarray 时,该方法不会 copy 出一个副本,不占用新的内存
numpy.arange() 创建一个一维数组,该数组由一个等差数列构成通过指定开始值、终值和步长创建等差数列,得到的结果数组不包含终值
numpy.linspace() 创建一个一维数组,该数组由一个等差数列构成通过指定开始值、终值和元素个数创建等差数列,可通过 endpoint 参数指定是否包含终值
numpy.logspace() 创建一个一维数组,该数组由一个等比数列构成
numpy.empty() 创建一个指定形状、数据类型且未初始化的数组
numpy.zeros() 创建一个指定大小的数组,数组元素以 0 来填充
numpy.ones() 创建一个指定大小的数组,数组元素以 1 来填充
numpy.eye() 创建一个对角矩阵数组,返回一个二维数组,对角线上值为 1,其余位置为 0
numpy.frombuffer() 将缓冲区解释为一维数组,接受 buffer 输入参数,以流的形式读入并转化成 Ndarray 对象
numpy.fromiter() 从可迭代对象中建立 Ndarray 对象,返回一个一维数组
numpy.full((2,3),5) 创建一个shape为(2,3)的所有值为5的矩阵,可自己指定shape和值
numpy.ones_like(array1) 创建形状为array1的全为1的矩阵
numpy.zeros_like(array1) 创建形状为array1的全为0的矩阵
numpy.full_like(array1,6) 创建形状为array1的全为6的矩阵

numpy.array()

调用 NumPy 的 array 方法即可创建一个 Ndarray 对象,即创建一个数组。
基本语法:numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

参数 描述
object 数组或嵌套的数列
dtype 数组元素的数据类型,可选
copy 对象是否需要复制,可选
order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok 默认返回一个与基类类型一致的数组
ndmin 指定生成数组的最小维度

numpy.asarray()

numpy.asarray() 方法将输入数据(列表、元组、Ndarray 等)转换为数组形式,与 numpy.array() 方法类似,但 asarray 参数比 array 少两个,另外最大的区别是当数据源为 Ndarray 时,array 方法仍然会 copy 出一个副本,占用新的内存,但 asarray 方法不会。

基本语法:numpy.asarray(a, dtype=None, order=None)
参数解释:

参数 描述
a 待转换对象,可以是列表,元组,列表元组,元组列表,多维数组等
dtype 可选项,指定数据类型
order 可选项,以行优先(C)或列优先(F)的顺序存储多维数据在内存中

numpy.arange()

numpy.arange() 方法用于创建一个一维数组,在指定的间隔内返回均匀间隔的数字并组成数组(Ndarray 对象),即该数组是一个等差数列构成的。arange() 类似 Python 的 range(),但是 arange() 的步长可以为小数,而 range() 的步长只能是整数。

基本语法:numpy.arange([start, ]stop, [step, ]dtype=None)

参数解释:

参数 描述
start 起始值,数字,可选项,默认起始值为 0,生成的元素包括起始值
stop 结束值,数字,生成的元素不包括结束值
step 步长,数字,可选项, 默认步长为 1,如果指定了 step,则必须给出 start
dtype 输出数组的类型,如果未给出 dtype,则从其他输入参数推断数据类型

numpy.linspace()

numpy.linspace() 方法用于创建一个一维数组,在指定的间隔内返回均匀间隔的数字并组成数组(Ndarray 对象),即该数组是一个等差数列构成的。linspace() 方法类似于 arange(),两者除了参数有差别以外,还有以下的区别:

arange() 方法类似于内置函数 range(),通过指定开始值、终值和步长创建表示等差数列的一维数组,得到的结果数组不包含终值。

linspace() 通过指定开始值、终值和元素个数创建表示等差数列的一维数组,可以通过 endpoint 参数指定是否包含终值,默认值为True,即包含终值。

基本语法:numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

参数解释:

参数 描述
start 序列的起始值
stop 序列的终止值,如果 endpoint 为 True,则该值将包含于数列中
num 可选项,int 类型,要生成的等步长的样本数量,即元素个数,默认为 50
endpoint 可选项,bool 类型,该值为 True 时,数列中将包含 stop 值,反之则不包含,默认为 True
retstep 可选项,bool 类型,该值为 True 时,生成的数组中会显示间距,反之则不显示,默认为 False
dtype 可选项,Ndarray 的数据类型
axis 可选项,int 类型,结果中的轴用于存储样本。仅当 start 或 stop 类似于数组时才相关默认情况下为 0,采样将沿着在开始处插入的新轴进行,使用 -1 来获得轴的末端

numpy.logspace()

numpy.logspace() 方法用于创建一个一维数组,该数组由一个等比数列构成。

基本语法:numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)

参数解释:

参数 描述
start 序列的起始值
stop 序列的终止值,如果 endpoint 为 True,则该值将包含于数列中
num 可选项,int 类型,要生成的等步长的样本数量,即元素个数,默认为 50
endpoint 可选项,bool 类型,该值为 True 时,数列中将包含 stop 值,反之则不包含,默认为 True
base 可选项,float 类型,对数 log 的底数,即取对数的时候 log 的下标 ,默认为 10.0
dtype 可选项,Ndarray 的数据类型
axis 可选项,int 类型,结果中的轴用于存储样本。仅当 start 或 stop 类似于数组时才相关默认情况下为 0,采样将沿着在开始处插入的新轴进行,使用 -1 来获得轴的末端

numpy.empty()

numpy.empty() 方法可用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组。

基本语法:numpy.empty(shape, dtype = float, order = ‘C’)

参数解释:

参数 描述
shape 数组形状
dtype 数据类型,可选
order 以行优先(C)或列优先(F)的顺序存储多维数据在内存中

numpy.zeros()

numpy.zeros() 方法用于创建指定大小的数组,数组元素以 0 来填充。

基本语法:numpy.zeros(shape, dtype = float, order = ‘C’)

参数解释:

参数 描述
shape 数组形状
dtype 数据类型,可选
order 以行优先(C)或列优先(F)的顺序存储多维数据在内存中

numpy.ones()

numpy.ones() 方法用于创建指定大小的数组,数组元素以 1 来填充。

基本语法:numpy.ones(shape, dtype = None, order = ‘C’)

参数解释:

参数 描述
shape 数组形状
dtype 数据类型,可选
order 以行优先(C)或列优先(F)的顺序存储多维数据在内存中

numpy.eye()

numpy.eye() 方法用于创建对角矩阵数组,返回一个二维数组,对角线上值为 1,其余位置为 0。

基本语法:numpy.eye(N, M=None, k=0, dtype=, order=‘C’)

参数解释:

参数 描述
N int 类型,目标数组的行数
M int 类型,可选项,目标数组的列数,如果未指定,则默认与行数(N)相同
k int 类型,可选项,对角线索引,0(默认值)为主对角线,正值为上对角线,负值为下对角线简单来说可以理解成将值为 1 的对角线向左右平移 k 个单位,默认值 0 即对角线为 1,k 为正值右移,负值左移
dtype 可选项,返回数组的数据类型
order 可选项,以行优先(C)或列优先(F)的顺序存储多维数据在内存中

numpy.frombuffer()

numpy.frombuffer() 方法将缓冲区解释为一维数组,接受 buffer 输入参数,以流的形式读入转化成 ndarray 对象。当 buffer 是字符串时,Python3 默认 str 是 Unicode 类型,所以要转成 bytestring,即在原 str 前加上 b。

基本语法:numpy.frombuffer(buffer, dtype=float, count=-1, offset=0)

参数解释:

参数 描述
buffer 可以是任意对象,会以流的形式读入
dtype 可选项,返回数组的数据类型
count 可选项,读取的数据数量,默认为 -1,即读取缓冲区中所有数据
offset 可选项,读取的起始位置,以字节为单位,默认为 0

numpy.fromiter()

numpy.fromiter() 方法可以从可迭代对象中建立 Ndarray 对象,返回一个一维数组。

基本语法:numpy.fromiter(iterable, dtype, count=-1)

参数解释:

参数 描述
iterable 可迭代对象
dtype 返回数组的数据类型
count 读取的数据数量,默认为 -1,即读取所有数据

3.改变数组的维度或者形状

numpy.reshape()

numpy.reshape() 方法用于重新调整数组的维数(重塑)。

基本语法:numpy.reshape(a, newshape, order=‘C’)

参数解释:

a:要重塑的数组

newshape:重塑后的形状,新形状应与原始形状兼容。如果是整数,则结果将是该长度的一维数组。一个形状维度可以是-1。在这种情况下,将根据数组的长度和剩余维度推断该值。举个例子,原数组 a 是一个 4 行 n 列的二维数组,现在要将其转换成只有 1 行的一维数组,由于不清楚原二维数组有多少列,也就不清楚一共有多少元素,所以可以使用 np.reshape(a, (1, -1)) 语句将其转化为一维数组,其中 -1 会让程序自动计算有多少列,此概念将在后面举例具体说明。

order:可选值为 C、F、A,使用索引顺序读取 a 的元素,并按照索引顺序将元素放到变换后的的数组中,默认参数为 C。

C 指的是用类 C 写的读/索引顺序的元素,最后一个维度变化最快,第一个维度变化最慢。横着读,横着写,优先读/写一行。

F 是指用 FORTRAN 类索引顺序读/写元素,最后一个维度变化最慢,第一个维度变化最快。竖着读,竖着写,优先读/写一列。注意,C 和 F 选项不考虑底层数组的内存布局,只引用索引的顺序。

A 选项所生成的数组的效果与原数组 a 的数据存储方式有关,如果数据是按照 FORTRAN 存储的话,它的生成效果与 F 相同,否则与 C 相同。

numpy.ravel()

numpy.ravel() 方法用于完成展平的操作。

基本语法:numpy.ravel(a, order=‘C’)

参数解释:

参数 描述
a 待转换的数组
order 值可以是 C F A K,含义与 reshape 方法中参数的一样,与 reshape 方法不同的是多了个值 K
K 表示按顺序在内存中读取元素,但在跨距为负时会反转数据

numpy.resize()

numpy.resize() 方法会直接修改所操作的数组,返回具有指定形状的新数组,如果新数组大于原始数组,则新数组将填充 a 的重复副本。

基本语法:numpy.resize(a, new_shape)

参数解释:

参数 描述
a 待转换的数组
new_shape 新数组的大小形状

numpy.ndarray.flatten()

numpy.ndarray.flatten() 方法恰如其名,flatten 就是展平的意思,与 ravel 函数的功能相同,二者的不同之处在于:flatten 方法会请求分配新的内存来保存结果,而 ravel 方法只是返回数组的一个视图(view)。

基本语法:ndarray.flatten(order=‘C’)

其 order 参数的值可以是 C F A K,含义与 reshape 和 ravel 方法中参数的一样.

numpy.ndarray.shape

numpy.ndarray.shape 本来是 Ndarray 对象的一个属性,但可以通过直接用一个正整数元组对其赋值来设置数组的维度

numpy.ndarray.transpose() & numpy.ndarray.T

ndarray.transpose() 和 ndarray.T 方法的作用是对数组进行转置,即原来的行变成列,原来的列变成行。

numpy.swapaxes()

numpy.swapaxes() 方法用于对换数组的两个轴

基本语法:numpy.swapaxes(a, axis1, axis2)

参数解释:a 为原始数组,axis1、axis2 分别对应两个轴,类型为整数

你可能感兴趣的:(数据分析&文本挖掘)