栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python数据分析三剑客之numpy

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python数据分析三剑客之numpy

Python数据分析三剑客之numpy

NumPy科学计数的基础库。重在与数值计算,也是大部分python科学计算库的基础,多用于在大型、多维数组执行的数值运算

numpy的创建

  1. 使用np.array()创建

  2. 使用plt创建

  3. 使用np的routine函数创建

使用array()创建一个一维数组:

arr = np.array([1, 2, 3])  # dtype是数组类型
print(arr)

使用array()创建一个多维数组:

arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr2)

数组与列表的区别:

数组中存储的数据元素类型必须是同一类型

优先级:字符串>浮点型>整数

将外部的一张图片读取加载到numpy数组中,然后尝试改变数组元素的数值查看对原图的影响

im_arr = plt.imread('4.jpg')  # 返回的数组,数组中装载的即为图片内容
i = im_arr.copy()
# plt.imshow(im_arr)  # 将numpy数组进行可视化展示
i -= 100  # 将每一个数组元素都减去100
plt.imshow(i)
pylab.show()  # 保证能显示图片

各种数组:

one = np.ones(shape=(1, 2))  # 1行2列的单位数组
zero = np.ones(shape=(3, 4))  # 3行4列的0数组
line = np.linspace(0, 100, num=20)  # 0到100且数组大小为20的一维等差数列数组
arange = np.arange(10, 50, step=2)  # 10到50且等差为1的一维等差数组
rand = np.random.randint(0, 100, size=(5, 3))  # 0到100的5行3列的随机数组

numpy的常用属性:

shape:返回数组的形状

ndim:返回数组的维度

size:返回数组元素个数

dtype:返回数组元素类型

dtype指定np数组元素类型:

arr = np.array([1, 2, 3], dtype='int32')

arr.dtype = 'int32'

//dtype('int32')

numpy的索引和切片:

arr[1]  # 取出numpy数组中下标为1的行数据
arr[1, 3, 4]  # 取出多行

arr[0:2]  # 切出arr数组的前两行数据
arr[:, 0:2]  # arr[行切片, 列切片]

arr[::-1]  # 将数组的行倒置
arr[:, ::-1]  # 将数组的列倒置
arr[::-1, ::-1]  # 所有元素倒置

翻转图片:

plt.imshow(im_arr[:, ::-1])  # 将图片进行左右反转
plt.imshow(im_arr[::-1, :])  # 将图片进行上下反转

图片的裁剪:

plt.imshow(im_arr[66:200, 78:300])

数组的变形reshape:

arr.reshape(shape=(30,))  # 多维变一维
arr.reshape((6, 5))  # 一维变多维

级联操作:同一维度

将多个numpy数组进行横向或纵向的拼接

axis轴向理解:0:列,1:行

np.concatenate((arr, arr), axis=1)  # 行拼接
np.concatenate((arr, arr), axis=0)  # 列拼接

聚合操作:

sum,max,min,mean

arr.sum(axis=0)  # 求每一列之和
arr.sum(axis=1)  # 求每一行之和
arr.max()  # 求全数组最大值

数学函数:

np.sin(arr)  # 每个元素的sin值
np.around(a, decimals)  # 返回指定数的四舍五入值
# 其中a为数组,decimals为舍入的小数位数,默认为0,若为负,整数将四舍五入到小数点左侧的位置

统计函数:

  1. np.amin()和np.amax():用于计算数组中的元素沿指定轴的最小、最大值

  2. np.ptp():计算数组中元素最大值与最小值的差(最大值 - 最小值)

  3. np.median():函数用于计算数组a中元素的中位数(中值)

  4. 标准差std:平均值分散程度的度量std = sqrt(mean((x - x.mean())**2))

    arr[1].std()
    
  5. 方差var:每个样本值与全体样本值的平均数之差的平方值的平均数,var = mean((x - x.mean())**2),即标准差为方差的平方根

    arr[1].var()
    

矩阵操作:

矩阵库:numpy.matlib,该模块返回一个矩阵而非ndarray对象

np.matlib.identity()函数返回给定大小的单位矩阵

np.eye(6)  # 返回单位矩阵
arr.T  # 返回矩阵的转置

矩阵相乘:

a1 = np.array([[2, 1], [4, 3]])
a2 = np.array([[1, 2], [1, 0]])
mul = np.dot(a1, a2)  # 矩阵的点乘
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997551.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号