Python学习笔记——NumPy

news2024/9/27 5:56:08

一、向量数据

①概念

向量数据是指存储一系列同类数据有序数据结构

②分类

python中的列表和元组可以用来存储向量数据。

分为 一维列表,二维列表,三(多)维列表。

 ③向量数据结构的理解

 二、产生原因

大量的向量数据计算时,使用python的列表速度比较慢,于是C语言写的python库NumPy就诞生了,一方面是速度快了,另一面有更多的方法可以使用。

列表-->计算(比较慢)

列表-->向量数据(numpy)-->计算(比较快)

1、数组的创建

array()#传入 列表,元组
ones()#(行,列)
empty()#(行,列)
zeros()#(行,列)
arange()#(开头,结尾,步长)
import numpy as np
#======根据多段数据=======
a1 = np.array([1,2,3])#传入列表
print(a1)

a2 = np.array((1,2,3))  # 传入元组
print(a2)
#======根据维度数据=======
a3 = np.ones((2,3))  # 传入维度元组(第一维2、第二维3),默认数据是1
print(a3)

a4 = np.empty((3, 3))  # 传入维度元组(第一维3、第二维3),默认数据是随机数
print(a4)

a5 = np.zeros((3, 4))  # 传入维度元组(第一维3、第二维3),默认数据是0
print(a5)
#======根据范围数据=======
a6 = np.arange(1,5,1)  # 传入开头,结尾,步长。生成一维向量数据。
print(a6)

2、数组对象属性

import numpy as np
a = np.ones((3,2))
print(a.ndim)#数组维度 的个数
print(a.shape)#数组    的形状
print(a.size)#数组元素  的总个数
print(a.dtype)#数组元素 的数据类型

3、dtype

array()
ones()
empty()
zeros()
arange()
import numpy as np
a = np.ones((3,2),dtype=np.int32)
print(a)
print(a.dtype)

类型大全:

NumPy 数据类型 | 菜鸟教程

4、改变形状

个数需要一致 

import numpy as np
a = np.arange(1,7,1)
print(a)
b = a.reshape((3,2))
print(b)

 

5、向量的算数运算

数组四则运算,要求数组形状相同。

数组和一个数运算,相当于数组的每一位与这个数运算。

import numpy as np

a = np.arange(1,9,1).reshape((2,4))    
print(a)
print('==================')
b = np.arange(1, 9, 1).reshape((2, 4))
print(b)
print('==================')
print(a+b)
print('==================')
print(a+1)

6、 向量的添加元素

一维拼接 

 

import numpy as np
a = np.ones((4,))
print(a)
b = np.zeros((4,))
print(b)
c = np.concatenate((a,b))
print(c)

二维拼接

import numpy as np

a = np.arange(1,9,1).reshape((2,4))    
print(a)
print('==================')
b = np.arange(1, 9, 1).reshape((2, 4))
print(b)
print('==================')
c = np.concatenate((a, b))# axis = 0
print(c)
print('==================')
d = np.concatenate((a, b),axis=1)
print(d)

 

 7、向量的其他操作

数组.sum()#不传参数时,求所有元素的和,   传axis参数可指定维度,axis=1求每一排,axis=0求每一列。
数组.min()#不传参数时,求所有元素的最小值,传axis参数可指定维度。
数组.max()#不传参数时,求所有元素的最大值,传axis参数可指定维度。
import numpy as np

a = np.arange(1,9,1).reshape((2,4))    
print(a)
print('=======a.sum()===========')
print(a.sum())
print('=======a.sum(axis=1)===========')
print(a.sum(axis=1))
print('=======a.min()===========')
print(a.min())
print('=======a.min(axis=1)===========')
print(a.min(axis=1))

 

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

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

相关文章

蓝桥杯的比赛流程和必考点

蓝桥杯的比赛流程和必考点 距省赛仅1个多月!蓝桥杯的比赛流程和必考点,你还不清楚? “巷子里的猫很自由,却没有归宿;围墙里的狗有归宿,终身都得低头。人生这道选择题,怎么选都会有遗憾。” 但不…

弹性负载均衡器类型

Hello大家好,在本课时,我们将讨论AWS不同类型的弹性负载均衡器,也就是ELB。 对于认证考试您需要了解针对不同的场景使用哪种类型的负载均衡器。 负载均衡器类型 应用程序负载均衡器 第一个是应用程序负载均衡器,也就是ALB,ALB在…

ArcGIS手动分割矢量面要素从而划分为多个面部分的方式:Cut Polygons Tool

本文介绍在ArcGIS下属ArcMap软件中,通过“Cut Polygons Tool”工具,对一个面要素矢量图层加以手动分割,从而将其划分为指定形状的多个部分的方法。 对于一个面要素矢量文件,有时我们需要对其加以划分,通过手动勾勒新的…

Python杂题-- 内附蓝桥题:裁纸刀

杂题 ~~不定时更新🎃,上次更新:2023/02/23 蓝桥例题1-裁纸刀🔪 问题描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝有一个裁纸刀,每次可以将一张纸沿…

高阶数据结构之LRU Cache

文章目录什么是LRU Cache?LRU Cache的实现JDK中自带的数据结构模拟实现LRU Cache(双向链表哈希表)什么是LRU Cache? LRU的全称是“Least Recently Used”的缩写,表示最近最少的使用,是一种Cache替换算法&am…

机器学习和深度学习综述

机器学习和深度学习综述 1. 人工智能、机器学习、深度学习的关系 近些年人工智能、机器学习和深度学习的概念十分火热,但很多从业者却很难说清它们之间的关系,外行人更是雾里看花。在研究深度学习之前,先从三个概念的正本清源开始。概括来说…

2022-2-23作业

一、通过操作Cortex-A7核,串口输入相应的命令,控制LED灯进行工作 1.例如在串口输入led1on,开饭led1灯点亮 2.例如在串口输入led1off,开饭led1灯熄灭 3.例如在串口输入led2on,开饭led2灯点亮 4.例如在串口输入led2off,开饭led2灯熄灭 5.例如在串口输…

关于性能测试,你不可不知的内容

目录 1、性能测试概述 2、常见的性能测试指标 2.1、并发 2.2、响应时间 2.3、事务 2.3.1、事务响应时间 2.3.2、每秒事务通过数(TPS) 2.4、点击率 2.5、吞吐量 2.6、资源利用率 3、性能测试分类 3.1、一般性能测试 3.2、负载测试 3.3、压力…

虹科Dimetix激光测距仪在锯切系统中的应用

HK-Dimetix激光测距仪——锯切系统应用 许多生产设施,例如金属服务中心,使用切割锯将每个客户的订单切割成一定长度。定长切割过程通常涉及卷尺和慢跑锯的传送带。但更简单的替代方法是使用虹科Dimetix非接触式激光距离传感器。 为了切断大长度的棒材&…

Day898.Join语句执行流程 -MySQL实战

Join语句执行流程 Hi,我是阿昌,今天学习记录的是关于Join语句执行流程的内容。 在实际生产中,关于 join 语句使用的问题,一般会集中在以下两类: 不让使用 join,使用 join 有什么问题呢?如果有…

1+1>2 ?多数据源关联分析系列…

数据表连接的 join 操作,相信大家都不陌生吧?在数据分析时,经常需要对多个不同的数据源进行关联操作,因此各类数据库的 SQL 语言都包含了丰富的 join 语句,以支持批计算关联。而在金融的业务场景中,流数据实…

系统崩溃如何恢复数据?4步,教您快速抢救丢失的数据

电脑保存着很多个人文件和数据,如果碰到电脑系统崩溃,可能会导致文件无法访问,甚至我们的数据会发生丢失的情况。系统崩溃如何恢复数据?我们先来了解下Windows操作系统发生崩溃的常见原因:一次性打开太多软件&#xff…

AG9300方案替代|替代AG9300设计Type-C转VGA方案|CS5260设计原理图

AG9300方案替代|替代AG9300设计Type-C转VGA方案|CS5260设计原理图 安格 AG9300是一款实现USB TYPE-C到VGA数据的单片机解决方案转换器。ALGOLTEK AG9300支持USB Type-C显示端口交替模式,AG9300可以将视频和音频流从USB Type-C接口传输到VGA端口。在AG9300&#xff0…

LeetCode 707. 设计链表

LeetCode 707. 设计链表 难度:middle\color{orange}{middle}middle 题目描述 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:valvalval 和 nextnextnext。valvalval 是当前节点的值,nextnextnext 是指向下…

FastCGI sent in stderr: "PHP message: PHP Fatal error

服务器php7.2卸载安装7.4之后,打开网站一直无法访问,查看nginx错误日志发现一直报这个错误:2023/02/23 11:12:55 [error] 4735#0: *21 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught ReflectionException: Class translator does not exist in …

OpenGL超级宝典学习笔记:原子计数器

前言 本篇在讲什么 本篇为蓝宝书学习笔记 原子计数器 本篇适合什么 适合初学Open的小白 本篇需要什么 对C语法有简单认知 对OpenGL有简单认知 最好是有OpenGL超级宝典蓝宝书 依赖Visual Studio编辑器 本篇的特色 具有全流程的图文教学 重实践,轻理论&#…

比特数据结构与算法(第四章_中)堆的分步构建

不清楚堆的概念和性质公式可以先到上一篇看看链接:比特数据结构与算法(第四章_上)树和二叉树和堆的概念及结构_GR C的博客-CSDN博客堆的逻辑结构是完全二叉树,物理(存储)结构是数组1.完整Heap.h和以前学的数…

计算机网络概述 第一部分

前言 为了准备期末考试,同时也是为了之后复习方便,特对计算机网络的知识进行了整理。本篇内容大部分是来源于我们老师上课的ppt。而我根据自己的理解,将老师的PPT整理成博文的形式以便大家复习查阅,同时对于一些不是很清楚的地方…

centos7搭建svn配置

基本概述 Apache Subversion(简称SVN,svn),一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS转移到Subversion。…

【Vue3源码】第五章 ref的原理 实现ref

【Vue3源码】第五章 ref的原理 实现ref 上一章节我们实现了reactive 和 readonly 嵌套对象转换功能,以及shallowReadonly 和isProxy几个简单的API。 这一章我们开始实现 ref 及其它配套的isRef、unRef 和 proxyRefs 1、实现ref 接受一个内部值,返回一…