Python数据分析基础(二)——NumPy基础

本文介绍了NumPy的ndarray对象,它是高效存储大数据集的容器。内容包括数组创建函数、NumPy的数据类型、一元和二元ufunc操作、基本统计方法、数组集合运算以及numpy.linalg和numpy.random的部分函数。
摘要由CSDN通过智能技术生成

NumPy最重要的特点就是其N维数组对象(即ndarray),该对象是一个快速而灵活的大数据集容器。


数组创建函数

函数 说明
array 将输入数据(列表、元组、数组或其他序列类型)转换为ndarray。
asarray 将输入转换为ndarray
arange 类似于内置的range,但返回的是一个ndarray而不是列表
ones、ones_like 根据指定的形状和dtype创建一个全1数组。
zeros、zeros_like 根据指定的形状和dtype创建一个全0数组。
empty、empty_like 创建新数组,只分配内存空间但不填充任何值
eye、identity 创建一个正方的N*N单位矩阵(对角线为1,其余为0)


NumPy的数据类型

类型 类型代码 说明
int8、uint8 i1、u1 有符号和无符号的8位(1个字节)整型
int16、uint16 i2、u2 有符号和无符号的16位(2个字节)整型
int32、uint32 i4、u4 有符号和无符号的32位(4个字节)整型
int64、uint64 i8、u8 有符号和无符号的64位(8个字节)整型
float16 f2 半精度浮点数
float32 f4或f 标准的单精度浮点数。与C的float兼容
float64 f8或d 标准的双精度浮点数。与C的double和Python的float对象兼容
float128 f16或g 扩展精度浮点数
complex64、complex128、complex256 c8、c16、c32 分别用两个32位、64位或128位浮点数表示的复数
bool ? 存储True或False值得布尔类型
object O Python对象类型
string_ S 固定长度的字符串类型(每个字符1个字节)
unicode_ U 固定长度的unicode类型(字节数由平台决定)


一元ufunc

函数 说明
abs、fabs 计算整数、浮点数或复数的绝对值。对于非复整数,可以使用更快的fabs
sqrt 计算各元素的平方根
square 计算各元素的平方
exp 计算各元素的指数e^x
log、log10、log2、log1p 分别为自然对象(底数为e)、底数为10的log、底数为2的log、log(1+x)
sign 计算各元素的正负号:1(正数)、0(零)、-1(负数)
ceil 计算大于等于该值的最小正数
floor 计算小于等于该值的最大整数
rint 将各元素值四舍五入到最接近的整数,保留dtype
modf 将数组的小数和整数部分以两个独立数组的形式返回
isnan 返回一个表示“哪些值是NaN”的布尔型数组
isfinite、isinf 分布返回一个表示“哪些元素是有穷的(非inf、非NaN)”或“哪些元素是无穷的”布尔型数组
cos、cosh、sin、sinh、tan、tanh 普通型和双曲型三角函数
arccos、arccosh、arcsin、arcsinh、arctan、arctanh 反三角函数
logical_not 计算各元素not x的真值。


二元ufunc

函数 说明
add 将数组中对应的元素相加
subtract 从第一个数组中减去第二个数组中的元素
multiply 数组元素相乘
divid、floor_divide 除法或向下整除法(丢弃余数)
power 对第一个数组中的A,根据第二个数组对应得元素B,计算A^B
maximum、fmax 元素级的最大值计算,fmax将忽略NaN
minimum、fmin 元素级的最小值计算,fmin将忽略NaN
mod 元素级的求模计算(除法的余数)
copysign 将第二个数组中的值的符号复制给第一个数组中的值
greater、greater_equal、less、less_equal、equal、not_equal 执行元素级的比较运算,最终产生布尔型数组。相当于运算符>、>=、<、<=、==、!=
logical_and、logical_or、logical_xor 执行元素级的逻辑运算。相当于&、|、^


基本数组统计方法

方法 说明
sum 对数组中全部或某轴向的元素求和。零长度的数组sum为0。
mean 算术平均数。零长度的数组mean为NaN。
std、var 分别为标准差和方差,自由度可调(默认为n)
min、max 最大值和最小值
argmin、argmax 分别为最大和最小元素的索引
cumsum 所有元素的累计和
cumprod 所有元素的累计积


数组的集合运算

方法 说明
unique(x) 计算x中的唯一元素,并返回有序结果
intersect1d(x,y) 计算x和y中的公共元素,并返回有序结果
union1d(x,y) 计算x和y的并集,并返回有序结果
in1d(x,y) 得到一个表示“x的元素是否包含于y”的布尔型数组
setdiff1d(x,y) 集合的差,即元素在x中且不在y中
setxor1d(x,y) 集合的对称差,即存在于一个数组中但不同时存在于两个数组中的元素


常用的numpy.linalg函数

函数 说明
diag 以一维数组的形式返回方阵的对角线(或非对角线)元素,或将一维数组转换为方阵(非对角线元素为0)
dot 矩阵乘法
trace 计算对角线元素的和
det 计算矩阵的行列式
eig 计算方阵的本征值和本征向量
inv 计算方阵的逆
pinv 计算矩阵的Moore-Penrose伪逆
qr 计算QR分解
svd 计算奇异值分解(SVD)
solve 解线性方程组Ax=b,其中A为一个方阵
lstsq 计算Ax=b的最小二乘解


部分numpy.random函数

函数 说明
seed 确定随机数生成器的种子
permutation 返回一个序列的随机排列或返回一个随机排列的范围
shuffle 对一个序列就地随机排列
rand 产生均匀分布的样本值
randint 从给定的上下限范围内随机选取整数
randn 产生正态分布(均值为0,标准差为1)的样本值
binomial 产生二项分布的样本值
normal 产生正态(高斯)分布的样本值
beta 产生Beta分布的样本值
chisquare 产生卡方分布的样本值
gamma 产生Gamma分布的样本值
uniform 产生在[0,1)中均匀分布的样本值


参考文献:

利用Python进行数据分析.    Wes McKinney.    唐学韬译

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值