关于python中数据分析的一些函数

首先先下载numpy函数库

如果使用的pycharm软件,可在设置中下载,在Python interpreter设置里,点击+号,搜索numpy点击下载即可

第一部分

1.array()函数

这是一个将类似数组的数据转为数组的函数,我们还可以控制其数组的维度。

numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0)

参数说明:

  1. object: 必要参数,array_like类型。它可以是任何类似数组的对象(如列表、元组、其他数组等),或者是实现了__array__方法的对象,该方法会返回一个数组。

  2. dtype: 可选参数,数据类型对象或字符串。用于指定创建数组时每个元素的数据类型。如果省略,则NumPy会尝试根据输入数据自动推断合适的数据类型。

  3. copy: 可选布尔值参数。默认为True,这意味着总是创建数据的副本。如果设置为False并且能够避免复制数据(例如,如果输入已经是NumPy数组且满足其他参数要求),则可能会共享内存。

  4. order: 可选参数,字符串类型,可以是'K'(保持输入顺序,尽可能),'C'(C风格的行主序),'F'(Fortran风格的列主序)。指定数组的内存布局。

  5. subok: 可选布尔值参数,默认为False,意味着返回的是基础NumPy类型的数组。如果设为True,允许返回与输入具有相同类型的子类数组。

  6. ndmin: 可选整数参数。指定生成数组的最小维度,如果必要的话,通过在前面添加轴来增加数组的维度。

    import numpy as np
    
    # 使用列表创建一个一维数组,默认数据类型为float
    data_list = [1, 2, 3, 4, 5]
    array_1d = np.array(data_list)
    print(array_1d)
    
    # 创建一个二维数组并指定数据类型为int32
    data_matrix = [[1, 2], [3, 4]]
    array_2d = np.array(data_matrix, dtype=np.int32)
    print(array_2d)
    
    # 不复制输入数据,而是共享内存
    data_tuple = (0.1, 0.2, 0.3)
    array_shared = np.array(data_tuple, copy=False)
    # 改变原始元组中的值会影响创建的数组
    data_tuple[0] = 1.0
    print(array_shared)
    
    # 指定ndmin为2,即使输入是一维数据也会创建二维数组
    one_dim_data = [6, 7, 8]
    forced_2d_array = np.array(one_dim_data, ndmin=2)
    print(forced_2d_array)

2.linespace()函数

该函数可以生成一段间距相同的数组,例如

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

参数说明:

  • start:生成数组的第一个元素。
  • stop:生成数组的最后一个元素。
  • num:生成的数组中元素的个数,默认为50。
  • endpoint:布尔值,决定是否包含stop值作为数组的一个元素,默认为True,即包含。
  • retstep:如果设置为True,则返回数组及步长。
  • dtype:可选的数据类型,如果不指定则根据输入数据自动推断。

上图就代表从1开始,到10结束,生成数量为10个的等差数组,他们之间的差值正好为1

3.zeros()和zeros_like()函数

在numpy函数库中,这俩函数都是用来生成全零数组的函数,但他们之间也稍有不同。

zeros()函数用于创建一个指定形状且所有元素均为零的数组,同时允许用户指定数组的数据类型。

numpy.zeros(shape, dtype=float, order='C')

参数说明:

  • shape:必需参数,可以是一个整数或者一个表示数组维度的元组,用来指定新数组的形状。
  • dtype:可选参数,用于指定数组元素的数据类型,默认为 numpy.float64
  • order:可选参数,用于指定数组在内存中的存储方式,可以是 'C'(按行优先,C语言风格)、'F'(按列优先,Fortran风格)或 'A'(任意,取决于最有效的方式)。

比如以下示例代码,则创建一个3x4的全为零的二维数组

# 创建一个形状为 (3, 4) 的全零浮点数数组
arr = np.zeros((3, 4))
print(arr)

zeros_like()函数则可以根据现有数组创建一个新的具有相同形状和数据类型,但所有元素都是零的数组。它不需要显式地指定形状和数据类型,而是从提供的输入数组中获取这些属性。

numpy.zeros_like(array, dtype=None, order='K', subok=True)

参数说明:

  • array:必需参数,是要参考其形状和数据类型的输入数组。
  • dtype:可选参数,允许你指定新的数据类型覆盖原数组的数据类型,如果不指定,则新数组与输入数组具有相同的数据类型。
  • order 和 subok 参数的功能类似于 numpy.zeros() 中对应的参数,不过在 numpy.zeros_like() 中它们通常不是很重要,因为输出数组通常会遵循输入数组的内存布局。
import numpy as np

# 假设有一个已存在的数组
existing_arr = np.array([[1, 2, 3], [4, 5, 6]])

# 使用 zeros_like 创建一个与 existing_arr 形状和数据类型相同的全零数组
new_zeros_arr = np.zeros_like(existing_arr)
print(new_zeros_arr)

总结来说,当你需要根据预定义的形状创建全零数组时,使用 numpy.zeros();而当你希望快速创建一个与现有数组具有相同形状和类型的新零数组时,使用 numpy.zeros_like() 更为便捷。

4.random系列,生成随机数数组

NumPy库的numpy.random模块来生成指定形状的随机数组。这里分别给出使用numpy.random生成随机浮点数数组和整数数组的例子:

生成一个4x6的随机小数数组

arr_random = np.random.rand(4,6)

生成整数随机数数组,第一个参数0和第二个参数9代表随机数范围,取不到9,第三个参数为数组结构

arr_random_int = np.random.randint(0,9,(4,6))

5.ndim和shape

在Python的NumPy库中,ndim 和 shape 是用来描述多维数组(ndarray)的重要属性:

ndim是一个属性,代表数组的维度数量,也就是数组“有多少层”。它返回一个整数,表示数组有多少个轴(axis)。

返回值为3代表这是一个3维数组

shape同样是一个属性,但它返回的是一个表示数组各维度大小的元组。这个元组的每一个元素对应数组在相应轴上的尺寸。

这里的shape表示第一维度有2个元素(外层的两个方括号),第二维度也有2个元素(每层方括号内的两个子列表),第三维度有3个元素(每个子列表内的3个数)。比较抽象,上升到4维数组我容易猪脑过载(

  • arr.ndim 告诉你数组的“等级”,即它有多深或多层。
  • arr.shape 明确给出了每一层有多少元素,从而描述了整个数组在各个维度上的具体结构。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

KMP 算法介绍

1. KMP 算法介绍 KMP 算法:全称叫做 「Knuth Morris Pratt 算法」,是由它的三位发明者 Donald Knuth、James H. Morris、 Vaughan Pratt 的名字来命名的。KMP 算法是他们三人在 1977 年联合发表的。 KMP 算法思想:对于给定文本串 T 与模式串 …

Adobe PDF背景设置护眼模式,缓解眼部疲劳

一、背景 在用Adobe PDF看论文时,默认的白色背景看久了,眼睛会特别疲劳,下面介绍如何设置背景为护眼模式。 二、设置PDF为护眼模式 使用Adobe Acrobat Pro DC打开任意PDF文件,在上方工具栏选择“编辑”,在下拉菜单栏…

SpringMVC重点记录

目录 1.学习重点2.回顾MVC3.回顾servlet4.初始SpringMVC4.1.为什么要学SpringMVC?4.2.SpringMVC的中重点DispatcherServlet4.3.SpringMVC项目的搭建4.4.MVC框架要做哪些事情?4.5.可能会遇到的问题 5.SpringMVC的执行原理6.使用注解开发SpringMVC7.Controller控制总结8.RestF…

excel导入功能(适用于vue和react都可)

如图所示&#xff08;需求&#xff09;&#xff1a;点击导入excel后&#xff0c;数据自动新增到列表数据内 这里以vue3 andt 为例 template 标签内代码 &#xff1a; <a-uploadname"file":multiple"true":show-upload-list"false":customR…

分布式CAP理论

CAP理论&#xff1a;一致性&#xff08;Consistency&#xff09;、可用性&#xff08;Availability&#xff09;和分区容错性&#xff08;Partition tolerance&#xff09;。是Eric Brewer在2000年提出的&#xff0c;用于描述分布式系统基本性质的定理。这三个性质在分布式系统…

软件杯 深度学习 opencv python 实现中国交通标志识别_1

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 &#x1f525; 优质…

微信小程序将高德地图转为腾讯地图的自行车路线规划

微信小程序后台首页开发设置 相关文档 腾讯后台 微信小程序接入JDK JDK腾讯地图文档 腾讯路线规划文档 核心代码 <map id"myMap" ref"myMap" style"width: 100%; height: calc(100vh - 80px)":latitude"latitude" :scale&qu…

springboot274基于web的电影院购票系统

电影院购票系统设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装电影院购票系统软件来发挥其高效…

CGAN——生成0-9数字图像(Tensorflow+mnist)

1、简介 传统的GAN或者其他的GAN都是通过一堆的训练数据&#xff0c;最后训练出了生成网络&#xff0c;随机输入噪声最后产生的数据是这些训练数据类别中之一&#xff0c;无法提前预测生成的是哪个类别。如果需要定向指定生成某些数据&#xff0c;比如想生成飞机&#xff0c;数…

云计算 3月14号 (TCP三次握手和四次挥手)

1.TCP三次握手和四次挥手 1.TCP的传输过程&#xff1a; Seq 序列号 保障传输过程可靠。 ACK &#xff08;确认消息&#xff09; SYN &#xff08;在建立TCP连接的时候使用&#xff09; FIN &#xff08;在关闭TCP连接的时候使用&#xff09; 3.TCP建立连接的过程&…

ES解析word内容为空的问题和直接使用Tika解析文档的方案

导言 在上一篇文章最后&#xff0c;我们虽然跑通了ES文件搜索的全部流程&#xff0c;但是仍然出现了1个大的问题&#xff1a;ES7.3实测无法索引docx和doc文档&#xff0c;content有值但是无法解析到附件成为可读的可搜索的内容&#xff0c;附件内容为空&#xff08;附件中根本…

Microsoft Remote Desktop Mac

Microsoft Remote Desktop是一款功能强大的远程连接工具&#xff0c;允许用户从远程位置连接到另一台计算机&#xff0c;实现跨设备的无缝协作。无论是在不同的设备之间共享文件、应用程序和其他资源&#xff0c;还是远程访问工作站和服务器&#xff0c;Microsoft Remote Deskt…

Unity开发一个FPS游戏之二

在之前的文章中,我介绍了如何开发一个FPS游戏,添加一个第一人称的主角,并设置武器。现在我将继续完善这个游戏,打算添加敌人,实现其智能寻找玩家并进行对抗。完成的效果如下: fps_enemy_demo 下载资源 首先是设计敌人,我们可以在网上找到一些好的免费素材,例如在Unity…

人机交互三原则,网络7层和对应的设备、公钥私钥

人机交互三原则 heo Mandel提出了人机交互的三个黄金原则&#xff0c;它们强调了相似的设计目标&#xff0c;分别是&#xff1a; 简单总结为&#xff1a;控负持面–>空腹吃面 1&#xff0c;用户控制 2&#xff0c;减轻负担 3&#xff0c;保持界面一致 置用户于控制之下&a…

DHCP在企业网的部署及安全防范

学习目标&#xff1a; 1. DHCP能够解决什么问题&#xff1f; 2. DHCP服务器如何部署&#xff1f; 3. 私接设备会带来什么问题以及如何防范&#xff1f; 给DHCP服务器配置地址&#xff1a; 地址池&#xff1a; DHCP有2种分配模式&#xff1a;全局分配和接口分配 DHCP enable

Upload-labs靶场

文件漏洞上传进行复现 环境搭建--->搭建好环境如下&#xff1a; 打开第一关&#xff0c;尝试文件上传漏洞 根据界面提示&#xff0c;选择一个文件&#xff08;.php文件&#xff09;进行上传&#xff0c;发现无法上传 根据提示是指使用js对不合法文件进行了检查&#xff0c;…

传输层的UDP协议

1. UDP协议报文格式 1.1 16位端口号 UDP协议报文中&#xff0c;端口号占2个字节&#xff0c;包括 源端口号 和 目的端口号。 1.2 16位UDP长度 UDP报文长度为2个字节 &#xff0c;即UDP数据报长度为0~65535&#xff0c;也就是64kb。 1.3 16位UDP检验和 数据在网络传输的…

Python图像处理指南:PIL与OpenCV的比较【第135篇—PIL】

Python图像处理指南&#xff1a;PIL与OpenCV的比较 图像处理在计算机视觉和图像识别等领域中扮演着至关重要的角色。Python作为一种功能强大且易于学习的编程语言&#xff0c;提供了多种库供图像处理使用。在本文中&#xff0c;我们将比较两个最流行的Python图像处理库&#x…

基于正点原子潘多拉STM32L496开发板的简易示波器

一、前言 由于需要对ADC采样性能的评估&#xff0c;重点在于对原波形的拟合性能。 考虑到数据的直观性&#xff0c;本来计划采集后使用串口导出&#xff0c;并用图形做数据拟合&#xff0c;但是这样做的效率低下&#xff0c;不符合实时观察的需要&#xff0c;于是将开发板的屏幕…

云计算2主从数据库

设置主从数据库的目的是将数据库1和数据库2分别建在两个虚拟机上&#xff0c;并实现数据互通访问 首先准备两个虚拟机&#xff0c;这里示例ip分别为&#xff1a; 192.168.200.10&#xff1b;192.168.200.20 修改主机名&#xff0c;一个是mysql1&#xff0c;一个是mysql2&#x…