numpy常用函数

numpy作为python数据处理最常用的模块被广泛使用。本文总结了日常使用过程中numpy常用的函数及其用法(长期更新)。

import numpy as np

1. 数学运算

1.1 取对数 np.log()

对其中的每个元素取自然对数。

numpy.log(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])
# x: 输入
# return: x的自然对数
# e.g.
np.log([1, np.e, np.e**2, 0])
array([  0.,   1.,   2., -Inf])

2. 统计变量的数字特征

2.1 np.mean()

计算指定axis下的算术平均值。

numpy.mean(a, axis=None, dtype=None, out=None, keepdims=<no value>, *, where=<no value>)
# a: 输入数组
# axis: 均值计算的轴,默认会将数组打平(flatten)后计算均值
# return: 指定轴的均值或均值向量
# e.g.
a = np.array([[1, 2], [3, 4]])
np.mean(a)
2.5 # flatten 之后计算均值
# ---------------------------------------
np.mean(a, axis=0)
array([2., 3.]) # 列求平均,所有的行(0)相加
# ---------------------------------------
np.mean(a, axis=1)
array([1.5, 3.5]) # 行求平均,所有的列(1)相加

2.2 np.std()

计算指定axis下的标准差。

numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>, *, where=<no value>)[source]
# 参数同np.mean()函数
# e.g.
a = np.array([[1, 2], [3, 4]])
np.std(a)
1.1180339887498949 # may vary
# ---------------------------------------
np.std(a, axis=0)
array([1.,  1.])
# ---------------------------------------
np.std(a, axis=1)
array([0.5,  0.5])

3. 矩阵及数组的生成

3.1 np.empty()

返回给定形状和类型的矩阵。

numpy.empty(shape, dtype=float, order='C', *, like=None)
# shape: 矩阵形状
# dtype: 数据类型,默认为numpy.float64.
# return: 指定维度的未被初始化(数值任意)的矩阵
# e.g.
np.empty([2, 2], dtype=int)
array([[-1073741821, -1067949133],
       [  496041986,    19249760]]) 

3.2 np.array()

创建一个数组。

numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0, like=None)
# object: 数组,或者任何可以显示数组接口的对象。(注:一般是python列表)
# dtype: 数据类型,如果不给出,则该类型将确定为按顺序保留对象所需的最小类型
# return: numpy格式的数组
# e.g.
np.array([[1, 2], [3, 4]])
array([[1, 2],
       [3, 4]])

3.3 np.zeros() 、np.ones()、np.eye()

np.zeros() :返回指定形状下的全零数组。
np.ones() :返回指定形状下的全1数组。
np.eye() :返回指定形状下的单位阵。

numpy.zeros(shape, dtype=float, order='C', *, like=None)
# ---------------------------------------
numpy.ones(shape, dtype=None, order='C', *, like=None)
# shape: 新数组的形状
# dtype: 数据类型,默认为numpy.float64.
# return: 指定形状的数组
# e.g.
np.zeros(5)
array([ 0.,  0.,  0.,  0.,  0.])
# ---------------------------------------
np.ones(5)
array([1., 1., 1., 1., 1.])
# ---------------------------------------
numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C', *, like=None)
# N: 输出数组行数
# M: 可选,输出数组列数,默认等于行数
# dtype: 数据类型,默认为numpy.float64.
# e.g.
np.eye(2, dtype=int)
array([[1, 0],
       [0, 1]])

4. 矩阵及数组运算

4.1 np.reshape() 或者 [array].reshape()

在不改变数组元素的情况下更改其形状。

numpy.reshape(a, newshape, order='C')
# a: 输入数组
# newshape: 输出数组的形状
# return: 输出数组
# ---------------------------------------
[array].reshape(newshape)
# newshape: 同上
# e.g.
a = np.array([[1,2,3], [4,5,6]])
np.reshape(a, 6)
array([1, 2, 3, 4, 5, 6])
# ---------------------------------------
a = np.arange(6).reshape((3, 2))
array([[0, 1],
       [2, 3],
       [4, 5]])
# remark
a. reshape(1,-1) # 转换成一行,自动计算列
b. reshape(-1,1) # 转换成一列,自动计算行

4.2 np.concatenate()

沿现有的axis连接一系列数组。

numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind")
# a1, a2, …: 数组序列,除了axis维度,数组必须有相同得shape
# asix: 数组的哪个axis将会被连接
# e.g.
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6]])
np.concatenate((a, b), axis=0)
array([[1, 2],
       [3, 4],
       [5, 6]])
# ---------------------------------------
np.concatenate((a, b.T), axis=1)
array([[1, 2, 5],
       [3, 4, 6]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值