python数据分析之NumPy入门2

前景提要:import numpy as np

ndarray数组的创建方法:

(一)从python中的列表、元组等类型创建ndarray数组

x = np.array(list/tuple)
分为从列表类型创建、从元组类型创建、从列表和元组类型混合创建
指定数据类型: x = np.array(list/tuple,dtype = np.float32)
当np.array()不指定dtype时,NumPy将根据数据情况关联一个dtype类型

(二)使用NumPy中函数创建ndarray数组

np.arange(n)类似range()函数,返回ndarray类型,元素从0到n-1
np.ones(shape)根据shape生成一个全1数组,shape是元组类型
np.zeros(shape)根据shape生成一个全0数组,shape是元组类型
np.full(shape,val)根据shape生成一个数组,每个元素值都是val
np.eye(n)创建一个正方的n*n单位矩阵,对角线为1,其余为0
np.ones_like(a)根据数组a的形状生成一个全1数组
np.zeros_like(a)根据数组a的形状生成一个全0数组
np.full_like(a,val)根据数组a的形状生成一个数组,每个元素值都是val

(三)使用NumPy中其他函数创建ndarray数组

np.linspace()根据起止数据等间距地填充数据,形成数组。此函数有一个参数endpoint,endpoint = False表明结束数据不包含在数组中,此参数默认为True
np.concatenate()将两个或多个数组合并成一个新的数组

问:为什么NumPy大多数生成的数组元素置为浮点数?
因为NumPy用于科学计算,而在科学计算中,我们往往使用的数据都是浮点数


ndarray数组的变换:对于创建后的ndarray数组,可以对其进行维度变换和元素类型变换

ndarray数组的维度变换:

.reshape(shape)不改变数组元素,返回一个shape形状的数组,原数组不变
.resize(shape)与.reshape()功能一致,但修改原数组
.flatten()对数组进行降维,返回折叠后的一维数组,原数组不变
.swapaxes(ax1,ax2)将数组n个维度中两个维度进行调换

ndarray数组的类型变换:new_a = a.astype(new_type)

astype()方法一定会创建新的数组(原始数组的一个拷贝),即使两个类型一致

ndarray数组向列表的转换:ls = a.tolist()


ndarray数组的索引和切片

一维数组的索引和切片:与python的列表类似

多维数组的索引:在这里插入图片描述

多维数组的切片:在这里插入图片描述


ndarray数组的运算

NumPy一元函数

np.abs(x)、np.fabs(x)计算数组各元素的绝对值
np.sqrt(x)计算数组各元素的平方根
np.square(x)计算数组各元素的平方
np.log(x)、np.log10(x)、np.log2(x)计算数组各元素的自然对数、10底对数和2底对数
np.ceil(x)、np.floor(x)计算数组各元素的ceiling值或floor值
np.rint(x)计算数组各元素的四舍五入值
np.modf(x)将数组各元素的小数和整数部分以两个独立数组形式返回
np.cos(x)、np.sin(x)、np.tan(x)、np.cosh(x)、np.sinh(x)、np.tanh(x)计算数组各元素的普通型和双曲型三角函数
np.exp(x)计算数组各元素的指数值
np.sign(x)计算数组各元素的符号值,1(+),0,-1(-)

NumPy二元函数:

+、-、*、/、**:两个数组各元素进行对应运算
np.maximum(x,y)、np.fmax()、np.minimum(x,y)、np.fmin():元素级的最大值/最小值计算
np.mod(x,y):元素级的模运算
np.copysign(x,y):将数组y中各元素值的符号赋值给数组x对应元素
>、<、>=、<=、==、!=:算术比较,产生布尔型数组

发布了28 篇原创文章 · 获赞 8 · 访问量 2874

猜你喜欢

转载自blog.csdn.net/atuo200/article/details/98795375