机器学习11-numpy

news2024/9/9 1:26:22

1.NumPy是Python科学计算的核心库,它提供了一个高性能的多维数组对象,以及用于处理这些矩阵的处理工具;提供了方便和快速的N维数组的记录和计算方法,很多函数库都会用到,如SciPy、Tensorflow等。

import numpy as np 
a=np.array([1,2,3])
print(type(a))
print(a.shape)
print(a[0],a[1],a[2])
a[0]=5
b=np.array([[1,2,3],[4,5,6]])
print(b.shape)
print(b[0,0],b[0,1],b[1,0])

        为了方便预定义大量的数组,NumPy还提供了许多函数来创建矩阵,比如zeros默认数组为0,ones默认数组为1,full默认数组为自定义数。

import numpy as np 
a=np.zeros((2,2))
print(a)
b=np.ones((1,2))
print(b)
c=np.full((2,2),7)
print(c)
d=np.eye(3)
print(d)
e=np.random.random((2,2))
print(e)

        多维数组的切割在科学和统计上的计算是非常重要的,在这个程序中,将通过[数组行头,尾:数组列,尾]方式,把多维数组给切片(slicing)出来。

import numpy as np
a=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
row_r1=a[1,:]
row_r2=a[1:2,:]
print(row_r1,row_r1.shape)
print(row_r2,row_r1.shape)
col_r1=a[:,1]
col_r2=a[:,1:2]
print(col_r1,col_r1.shape)
print(col_r2,col_r2.shape)

        在NumPy预定数组的数据类型时,NumPy会根据数组数据,自动挑选合适的数据类型,也可以通过dtype来指定特定的数据类型。

import numpy as np
x=np.array([1,2])
print(x.dtype)
x=np.array([1.0,2.0])
print(x.dtype)
x=np.array([1,2],dtype=np.int64)
print(x.dtype)

        通过NumPy可以很轻松地做到数组的计算,如线性代数中的加、减、乘、除、平方等运算,甚至较复杂的矩阵相乘,也可以通过dot()函数来完成。

import numpy as np
x=np.array([[1,2],[3,4]],dtype=np.float64)
y=np.array([[5,6],[7,8]],dtype=np.float64)
print(x+y)
print(np.add(x,y))
print(x+10)
print(x-y)
print(x-[1,2])
print(x*y)
print(np.multiply(x,y))
print(x/y)
print(np.divide(x,y))
print(x**2)
print(np.sqrt(x))
print(x.dot(y))
print(np.dot(x,y))

NumPy提供的与统计有关的计算函数如下:

· sum,总和;

· max,最大;

· min,最小;

· cumsum,累加;

· mean,平均值;

· average,加权平均值;

· median,中间值;

· std,标准偏差;

· var,方差。

import numpy as np
x=np.array([[-1,2,3],[13,14,15]])
print(x)
print(np.sum(x))
print(np.sum(x,axis=0))
print(np.sum(x,axis=1))
print(np.max(x))
print(np.min(x))
print(np.average(x))
print(np.mean(x))
print(np.median(x))
print(np.std(x))
print(np.var(x))
print(x.T)

逻辑判断

import numpy as np
a=np.array([[-1,2,3],[13,14,15]])
bool_idx=((a%2)==0)
print(bool_idx)
print(a[bool_idx])
print(a[a>10])
print(a[a%2==1]*10)

不同尺寸的矩阵相加

在实际的NumPy下做矩阵数据的加、减、乘、除时,会遇到矩阵尺寸不一样的情况,那该怎么处理呢?本节实例提供了三种方法,将不同尺寸的矩阵相加。以运行结果来看,这三种方法求出来的结果一模一样。

方法一:一条一条地通过循环的方法处理。

方法二:使用tile()将小的矩阵依照比例放大。

方法三:交给NumPy自动处理。

import numpy as np
x=np.array([[1,2,3],[4,5,6]])
v=np.array([1,0,1])
y=np.empty_like(x)
for i in range(2):
    y[i,:]=x[i,:]+v
print(y)
v2=np.tile(v,(2,1))
print(v2)
print(x+v2)
print(x+v)

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

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

相关文章

CTF Web信息搜集 25000字详解

目录 前言信息收集常见信息分类域名信息whois备案CDN子域名解析记录 旁站C段服务器信息端口服务器类型数据库类型waf防火墙 网站信息备份文件备份文件常见的后缀名备份文件常见的文件名gedit备份文件vim备份文件收集方法 敏感目录CMS类型(指纹识别)探针泄…

牛客JS题(十二)列表动态渲染

注释很详细&#xff0c;直接上代码 涉及知识点&#xff1a; 忍者码风reduce注意事项 题干&#xff1a; 我的答案 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"></head><body><ul></ul><…

决策树 和 集成学习、随机森林

决策树是非参数学习算法&#xff0c;可以解决分类问题&#xff0c;天然可以解决多分类问题&#xff08;不同于逻辑回归或者SVM&#xff0c;需要通过OVR&#xff0c;OVO的方法&#xff09;&#xff0c;也可以解决回归问题&#xff0c;甚至是多输出任务&#xff0c;并且决策树有非…

浅谈监听器之后端监听器

浅谈监听器之后端监听器 “后端监听器”&#xff08;Backend Listener&#xff09;是一种高级功能&#xff0c;用于异步地将测试结果数据发送至外部系统&#xff0c;如数据库、消息队列或时间序列数据库等&#xff0c;以便于长期存储、实时分析和可视化展示。 后端监听器的作…

python 可视化探索(二):高级图表与组合图表

总结&#xff1a;本文为和鲸python 可视化探索训练营资料整理而来&#xff0c;加入了自己的理解&#xff08;by GPT4o&#xff09; 原作者&#xff1a;作者&#xff1a;大话数据分析&#xff0c;知乎、公众号【大话数据分析】主理人&#xff0c;5年数据分析经验&#xff0c;前…

centos安装crictl

上章文章已经讲诉了如何安装centos安装containerd-CSDN博客&#xff0c;本文章讲解如何安装crictl 一、官网安装说明文档&#xff0c;官网 二、二进制安装 #!/bin/sh VERSION"v1.30.0" # check latest version in /releases page wget https://github.com/kubernet…

IDEA 本地有jar包依赖文件,但是所有引用的jar包全部爆红

前端时间 看源码&#xff0c;下载源码额按钮不见了&#xff0c;折腾了很久&#xff0c;遂打算重新安装idea&#xff0c;但是重新安装后&#xff0c;发现代码全都爆红&#xff0c;按照晚上说的删除idea 文件夹&#xff0c;idea缓存删除&#xff0c;都不好使&#xff0c;但是看到…

PMP冲刺题及知识点整理

PMP题目整理 冲刺题1错题整理冲刺题1相关重点记录&#xff1a;零散不熟悉知识点整理团队章程责任分配矩阵RAM定义是啥风险识别的工具都有啥 冲刺题2错题整理知识点整理情商风险登记在风险登记册&#xff0c;风险管理计划中没有风险团队章程项目经理来确保进行知识转移交付哪一个…

【C++】STL-红黑树封装出set和map

目录 1、实现红黑树的泛型 2、set和map的插入 3、set和map的迭代器 3.1 operator 3.2 operator-- 3.3 const迭代器 4、find 5、map的operator[] 6、完整代码 6.1 红黑树 6.2 set 6.3 map 1、实现红黑树的泛型 我们先引入上一节中写的红黑树 enum Colour {RED,BL…

Unity Shader 初学者指南

《Unity Shader 初学者指南》(3D Game Shaders For Beginners) 是一个面向初学者的教程项目&#xff0c;由David Lettier创建。该项目通过一系列分步指导&#xff0c;教授如何在3D游戏中实现各种着色技术&#xff0c;包括环境光遮蔽(SSAO)、景深(Depth of Field)、光照、法线贴…

产品经理-​简历内容的可准备点(24)

在互联网岗位中,产品经理是一个没有针对性的专业&#xff0c;知识结构不明确&#xff0c;那该具体准备哪些内容呢&#xff1f; 大家知道大公司实习含金量高&#xff0c;但作为纯产品“小白”&#xff0c;冷启动找实习很困难&#xff08;本科生不太好找产品实习&#xff0c;普通…

OSI七层模型详解

OSI七层模型 OSI&#xff08;Open System Interconnect&#xff09;&#xff0c;即开放式系统互连。 一般都叫OSI参考模型&#xff0c;是ISO组织在1985年研究的网络互连模型。该体系结构标准定义了网络互连的七层框架&#xff08;物理层、数据链路层、网络层、传输层、会话层、…

loguru日志模块:简化Python自动化测试的日志管理!

引言 日志是软件开发中的关键组成部分&#xff0c;为开发和测试人员提供了调试和监控应用程序的重要手段。loguru 是一个第三方的 Python 日志库&#xff0c;以其简洁的 API 和自动化的功能脱颖而出。本文将探讨为什么项目中需要日志&#xff0c;loguru 为何受到青睐&#xff…

Python | ValueError: not enough values to unpack 解析

Python | ValueError: not enough values to unpack 解析 在Python编程中&#xff0c;ValueError: not enough values to unpack是一个常见的错误&#xff0c;通常发生在尝试将一个可迭代对象解包到太多的变量中时。本文将深入探讨此错误的根源&#xff0c;提供解决思路、方法…

Vue 中使用 inMap 创建动态遮罩覆盖物

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 Vue 中使用 inMap 创建动态遮罩覆盖物 应用场景 在基于 Vue 构建的地理信息系统应用中&#xff0c;经常需要在底图上绘制动态的遮罩覆盖物&#xff0c;以突出显示特定区域或隐藏敏感信息。 基本功能 这段代…

瑞芯微平台RK3568系统开发(2)Camera 开发2

基于上文&#xff0c;继续 瑞芯微平台RK3568系统开发&#xff08;2&#xff09;Camera 开发1-CSDN博客 1、使用v4l2-ctl说明 media-ctl工具的操作是通过/dev/medio0等media设备&#xff0c;它所管理是media的拓扑结构中各个节点的format&#xff0c;大小&#xff0c;链接。 …

CTF学习笔记汇总(非常详细)零基础入门到精通,收藏这一篇就够了

CTF学习笔记汇总 Part.01 Web 01 SSRF 主要攻击方式如下&#xff1a; 01 对外网、服务器所在内网、本地进行端口扫描&#xff0c;获取一些服务的banner信息。 02 攻击运行在内网或本地的应用程序。 03 对内网Web应用进行指纹识别&#xff0c;识别企业内部的资产信息。 …

Studying-代码随想录训练营day45| 115.不同的子序列、583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结篇

第45天&#xff0c;子序列part03&#xff0c;编辑距离&#x1f4aa;(ง •_•)ง&#xff0c;编程语言&#xff1a;C 目录 115.不同的子序列 583. 两个字符串的删除操作 72. 编辑距离 编辑距离总结篇 115.不同的子序列 文档讲解&#xff1a;代码随想录不同的子序列 视频讲…

高效能程序员的9个习惯

最近看了一本关于敏捷软件开发实践的指南&#xff0c;他文中主要是在帮助软件开发者和团队提升工作效率、提高产品质量&#xff0c;并建立良好的工作文化和协作模式。以下是根据目录整理出的一段总结&#xff1a; 书名&#xff1a;《敏捷之道》 本书深入探讨了敏捷开发的核心原…

从 1 到 100 万+连接数,DigitalOcean 负载均衡的架构演进

在前不久&#xff0c;DigitalOcean 全球负载均衡器&#xff08;GLB&#xff09;Beta版正式上线。该解决方案能给客户的跨区域业务带来更好的支持&#xff0c;可以增强应用程序的弹性&#xff0c;消除单点故障&#xff0c;并大幅降低终端用户的延迟。这是 DigitalOcean 负载均衡…