《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大数据分析实战》第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]]

结束语

好了,感谢大家的关注,今天就分享到这里了,更多详细内容,请阅读原书或持续关注专栏。

  • 27
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wux_labs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值