《PySpark大数据分析实战》-21.NumPy介绍数组的运算
📋 博主简介
- 💖 作者简介:大家好,我是wux_labs。😜
热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。
通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP)、TiDB数据库认证SQL开发专家(PCSD)认证。
通过了微软Azure开发人员、Azure数据工程师、Azure解决方案架构师专家认证。
对大数据技术栈Hadoop、Hive、Spark、Kafka等有深入研究,对Databricks的使用有丰富的经验。- 📝 个人主页:wux_labs,如果您对我还算满意,请关注一下吧~🔥
- 📝 个人社区:数据科学社区,如果您是数据科学爱好者,一起来交流吧~🔥
- 🎉 请支持我:欢迎大家 点赞👍+收藏??+吐槽📝,您的支持是我持续创作的动力~🔥
《PySpark大数据分析实战》-21.NumPy介绍数组的运算
《PySpark大数据分析实战》-21.NumPy介绍数组的运算
前言
大家好!今天为大家分享的是《PySpark大数据分析实战》第3章第2节的内容:NumPy介绍数组的运算。
数学计算库NumPy介绍
NumPy(Numerical Python)是Python中科学计算的基础包,是用于科学计算和数值分析的一个重要库。它提供了多维数组对象(ndarray),各种派生对象,以及用于数组快速操作的通用函数、线性代数、傅里叶变换、随机数生成等功能,是Python科学计算中必不可少的库。要在项目中使用NumPy,需要在Python环境中安装NumPy,命令如下:
$ pip install numpy
在使用时需要在Python脚本中导入numpy,以及其他必要的包,代码如下:
import numpy as np
import random
import time
数组的运算
NumPy提供了丰富的数组操作函数和运算符,能够快速高效地进行多维数组的运算,并且数组的运算会作用到数组中的每个元素上。
算术运算
NumPy中的数组支持常见的加、减、乘、除、幂等算术运算,并支持数组与标量的运算。这些算术运算符在 NumPy 中的实现方式与 Python 的内置运算符有所不同,能够更快地处理大型数据集。在下面的案例中,创建了两个数组并实现了数组之间的运算,代码如下:
# 创建两个一维数组
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print("数组相加结果:", a + b)
print("数组相乘结果:", a * b)
print("数组相除结果:", a / b)
print("数组幂的结果:", a ** 2)
执行代码,输出结果为:
数组相加结果: [5 7 9]
数组相乘结果: [ 4 10 18]
数组相除结果: [0.25 0.4 0.5 ]
数组幂的结果: [1 4 9]
统计运算
NumPy提供了多种统计函数,包括均值、方差、标准差、最小值、最大值等,能够方便地进行数据统计和分析。在下面的案例中,定义了一个数组并统计了各个统计项,代码如下:
a = np.array([1, 2, 3, 4])
print("数组均值是:", np.mean(a))
print("数组方差是:", np.var(a))
print("数组标准差:", np.std(a))
print("数组最小值:", np.min(a))
print("数组最大值:", np.max(a))
执行代码,输出结果如下:
数组均值是: 2.5
数组方差是: 1.25
数组标准差: 1.118033988749895
数组最小值: 1
数组最大值: 4
逻辑运算
NumPy支持多种逻辑运算符,包括与、或、非等,能够方便地进行逻辑运算。在下面的案例中,定义了两个数组并实现了逻辑运算,代码如下:
a = np.array([True, False, True])
b = np.array([False, False, True])
print("逻辑与:", np.logical_and(a, b))
print("逻辑或:", np.logical_or(a, b))
print("逻辑非:", np.logical_not(a, b))
执行代码,输出结果如下:
逻辑与: [False False True]
逻辑或: [ True False True]
逻辑非: [False True False]
矩阵运算
NumPy提供了多种矩阵运算函数,包括矩阵乘法、矩阵求逆、矩阵行列式等,能够方便地进行矩阵运算。在下面的案例中,定义了两个矩阵并实现了矩阵的运算,代码如下:
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print("矩阵相加:\n", A + B)
print("矩阵相乘:\n", np.dot(A, B))
print("矩阵转置:\n", A.T)
print("矩阵求逆:\n", np.linalg.inv(A))
执行代码,输出结果如下:
矩阵相加:
[[ 6 8]
[10 12]]
矩阵相乘:
[[19 22]
[43 50]]
矩阵转置:
[[1 3]
[2 4]]
矩阵求逆:
[[-2. 1. ]
[ 1.5 -0.5]]
结束语
好了,感谢大家的关注,今天就分享到这里了,更多详细内容,请阅读原书或持续关注专栏。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!