《PySpark大数据分析实战》-20.NumPy介绍数组的生成

📋 博主简介

  • 💖 作者简介:大家好,我是wux_labs。😜
    热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。
    通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP)、TiDB数据库认证SQL开发专家(PCSD)认证。
    通过了微软Azure开发人员、Azure数据工程师、Azure解决方案架构师专家认证。
    对大数据技术栈Hadoop、Hive、Spark、Kafka等有深入研究,对Databricks的使用有丰富的经验。
  • 📝 个人主页:wux_labs,如果您对我还算满意,请关注一下吧~🔥
  • 📝 个人社区:数据科学社区,如果您是数据科学爱好者,一起来交流吧~🔥
  • 🎉 请支持我:欢迎大家 点赞👍+收藏⭐️+吐槽📝,您的支持是我持续创作的动力~🔥

《PySpark大数据分析实战》-20.NumPy介绍数组的生成

  • 《PySpark大数据分析实战》-20.NumPy介绍数组的生成
    • 前言
    • 数学计算库NumPy介绍
      • 数组的生成
        • 生成有初始占位符内容的数组
        • 生成固定范围的数组
        • 生成服从分布律的数组
    • 结束语

《PySpark大数据分析实战》-20.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提供了一些用于生成包含初始值的N维数组的方法,可以方便人们快速地生成N维数组。

生成有初始占位符内容的数组

NumPy可以生成初始占位符内容为0、1或随机数的数组,主要的方法有:

  • numpy.zeros(),用于生成元素全为0的数组。
  • numpy.ones(),用于生成元素全为1的数组。
  • numpy.empty(),用于生成元素为随机数的数组。

在下面的案例中分别生成包含不同初始值的二维数组,代码如下:

# 生成全为0的数组
ary3 = np.zeros(shape=(2, 3), dtype="int32")
# 生成全为1的数组
ary4 = np.ones(shape=(2, 3), dtype=np.int32)
# 生成随机数数组
ary5 = np.empty(shape=(2, 3), dtype=np.float64)
print(ary3)
print(ary4)
print(ary5)

执行代码,输出结果为:

[[0 0 0][0 0 0]]
[[1 1 1][1 1 1]]
[[6.23042070e-307 3.56043053e-307 1.37961641e-306][2.22518251e-306 1.33511969e-306 1.24610383e-306]]
生成固定范围的数组

在生成数组时,可以指定数组中元素的数据范围,主要的方法有:

  • numpy.arange(),生成一个可指定起始值(默认为0)、终止值(不包含)、步长的数组。
  • numpy.linspace(),生成一个可指定起始值、终止值、样本数的一维等差数列数组。
  • numpy.logspace(),生成一个可指定起始值、终止值、样本数的一维对数数列数组。

在下面的案例中,分别生成包含不同数据范围的数组,代码如下:

# 生成起始值1、终止值100、步长10的数组
ary6 = np.arange(1, 100, 10)
# 生成起始值1、终止值100、样本数10个的数组
ary7 = np.linspace(1, 100, 10)
# 生成起始值1、终止值2、以10为对数底数、样本数9个的数组
ary8 = np.logspace(1.0, 2.0, num=9)
print(ary6)
print(ary7)
print(ary8)

执行代码,输出结果如下:

[ 1 11 21 31 41 51 61 71 81 91]
[  1.  12.  23.  34.  45.  56.  67.  78.  89. 100.]
[ 10.          13.33521432  17.7827941   23.71373706  31.622776642.16965034  56.23413252  74.98942093 100.        ]
生成服从分布律的数组

NumPy还可以生成服从一定分布律规则的数组,主要的方法有:

  • numpy.random.rand(),生成一个元素服从均匀分布的数组,可以指定每个维度的元素个数。
  • numpy.random.uniform(),从一个均为分布中随机抽样。
  • numpy.random.randn(),生成一个元素服从正太分布的数组,可以指定每个维度的元素个数。
  • numpy.random.normal(),从一个正太分布中随机抽样。

在下面的案例中,分布生成满足不同分布律的数组,代码如下:

import matplotlib.pyplot as pltfigure, ax = plt.subplots(2, 2)
plt.rcParams['font.sans-serif'] = ['Simhei']
plt.subplot(2, 2, 1)
# 生成3000个元素的[0.1)区间的均匀分布数组
plt.hist(np.random.rand(3000))
ax[0][0].set_title('[0,1)均匀分布数组')plt.subplot(2, 2, 2)
# 从[1,40)区间的均匀分布中随机抽样3000个元素
plt.hist(np.random.uniform(low=1, high=40, size=3000))
ax[0][1].set_title('[1,40)均匀分布中随机抽样')plt.subplot(2, 2, 3)
# 生成均值为10,标准差为2,服从正太分布的数组
plt.hist(np.random.normal(10, 2, 3000))
ax[1][0].set_title('均值10,标准差2的正太分布数组')plt.subplot(2, 2, 4)
# 生成服从标准正太分布的数组
plt.hist(np.random.randn(3000))
ax[1][1].set_title('标准正太分布数组')plt.tight_layout()
plt.show()

执行代码,绘制的图形如图所示。

结束语

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/578818.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

原来count(*)是接口性能差的真凶

前言 最近我在公司优化过几个慢查询接口的性能,总结了一些心得体会拿出来跟大家一起分享一下,希望对你会有所帮助。 我们使用的数据库是Mysql8,使用的存储引擎是Innodb。这次优化除了优化索引之外,更多的是在优化count(*)。 通…

MySQL——进阶篇

二、进阶篇🚩 1. 存储引擎🍆 1.1 MSQL体系结构 连接层: 连接处理,连接认证,每个客户端的权限 服务层: 绝大部分核心功能,可跨存储引擎 可插拔存储引擎: 需要的时候可以添加或拔掉…

PAT 乙级 1031 查验身份证

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1&am…

configure

configure 配置软件./configure --prefix$PWD/output CCaarch64-linux-gcc --hostaarch64-linux --enable-shared --enable-staticconfig.sub 文件 这个文件用于确定主机系统的类型,并返回与该系统相关的标识符。它包含一系列 shell 函数,用于检测主机…

苹果证书p12和描述文件的创建方法

​ 苹果证书p12和描述文件的创建方法 在2020年之前,我们在使用appuploder创建苹果证书的时候,只需要注册苹果开发者账号,但不需要缴费成为开发者。 在2020年之后,需要先缴费成为苹果开发者。 假如你还没有注册苹果开发者账号&…

linux 下批量重放流量

目录 介绍实操linux方式1,2linux 方式3 介绍 这里介绍的是,如何在 linux 环境下让IDP设备告警 这里linux下流量重放的工具是:tcpreplay 工具的作用:将PCAP包重新发送,用于性能或者功能测试工具的使用与参数&#xff…

关于“Python”的核心知识点整理大全43

目录 ​编辑 15.2.3 使2散点图并设置其样式 scatter_squares.py 15.2.4 使用 scatter()绘制一系列点 scatter_squares.py 15.2.5 自动计算数据 scatter_squares.py 15.2.6 删除数据点的轮廓 15.2.7 自定义颜色 15.2.8 使用颜色映射 scatter_squares.py 注意 15.2.9…

Unity-GUID

Unity中的GUID(全局唯一标识符 Globally Unique Identifier)是一个十六字节的字符序列,用于标识和识别Unity中的对象和组件。GUID的生成规则如下: 1> GUID是通过使用全局唯一标识符算法(UUID)来生成的。 2> GUID由32个十六进制数字(0-9和A-F)组成的字符串表示。 …

Mysql(4事务及存储)

目录 一.事务 事务的 ACID 特性: 一致性问题: 隔离级别: 查看隔离级别: ​编辑 设置隔离级别: 事务管理操作: 看下未提交读隔离的现象: ​编辑 看下提交读隔离的现象: 看…

如何禁用USB接口?这些方法你都可以试试

如何禁用USB接口 禁用USB接口可以通过操作系统设置或者使用一些硬件设备。 1. 通过操作系统禁用 通过操作系统禁用USB接口,是比较简单的操作,对电脑的损害也是比较小的。下面就一起来看一看,在不同的操作系统如何禁用USB。Windows系统&…

右值引用和移动语义以及C++11新增的类功能

正文开始前给大家推荐个网站,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 右值引用和左值引用 传统的C语法中就有引用的语法,而C11中新增了的右值引用语法特…

【华为OD机试真题2023CD卷 JAVAJS】执行任务赚积分

华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 执行任务赚积分 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 现有N个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1。 每个任务都有最晚处理时间限制和积分值,在最晚处理时间…

Java多线程技术五——单例模式与多线程-备份

1 概述 本章的知识点非常重要。在单例模式与多线程技术相结合的过程中,我们能发现很多以前从未考虑过的问题。这些不良的程序设计如果应用在商业项目中将会带来非常大的麻烦。本章的案例也充分说明,线程与某些技术相结合中,我们要考虑的事情会…

iconify图标集离线使用方案简介

1.需求描述 前端项目,技术栈使用Vue3Element Plus,参考了ruoyi-vue-pro项目与vue-element-plus-admin项目,封装了一个Icon组件,图标使用的是iconify,项目部署在内网环境,不能连接互联网,需要部署一套iconi…

《LeetCode力扣练习》代码随想录——栈与队列(用栈实现队列---Java)

《LeetCode力扣练习》代码随想录——栈与队列&#xff08;用栈实现队列—Java&#xff09; 刷题思路来源于 代码随想录 232. 用栈实现队列 没有算法 class MyQueue {private Stack<Integer> stackIn;private Stack<Integer> stackOut;public MyQueue() {stackInnew…

Docker基本命令和Docker怎么自己制作镜像

基本命令 启动新的容器&#xff08;指定容器名称和端口映射【主机端口&#xff1a;容器端口】) docker run --name 容器名 -p 8080:80 镜像名 启动新的容器&#xff08;交互式&#xff09; docker run -it centos7-with-jdk /bin/bash 特权方式启动容器 docker run -d --…

After Effects 2021 for Mac(AE 2021)

After Effects 2021是一款由Adobe公司开发的视频特效和动态图形制作软件&#xff0c;它主要用于电影、电视和网络视频的后期制作。该软件可以帮助用户创建各种令人惊叹的视觉效果&#xff0c;包括动态图形、文字特效、粒子系统、3D渲染等。 After Effects 2021提供了数百种特效…

文心一言 VS 讯飞星火 VS chatgpt (165)-- 算法导论13.1 5题

五、用go语言&#xff0c;证明&#xff1a;在一棵红黑树中&#xff0c;从某结点 x 到其后代叶结点的所有简单路径中&#xff0c;最长的一条至多是最短一条的 2 倍。 文心一言&#xff1a; 首先&#xff0c;我们要理解红黑树的性质。红黑树是一种自平衡的二叉查找树&#xff0…

天锐绿盾加密软件 | 数据保护 | 防泄密软件 \ 透明加密系统

天锐绿盾数据保护方案是一种全面的数据安全解决方案&#xff0c;旨在保护企业的电子文档和数据不被非法访问或泄露。 PC端访问地址&#xff1a; https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 以下是天锐绿盾数据保护方案的主要功能和特点&…

【Python】FastAPI学习记录(二)

模型&#xff0c;请求数据 使用记录模型响应模型减少代码量任意 dict 构成的响应 请求附加信息Header信息 其他的请求信息表单数据文件数据基本使用多文件 表单文件 使用记录 模型 响应模型 有的时候一个post接口&#xff0c;请求模型和响应模型我们需要的字段是不一样的&am…