python数据分析
Python是一种非常流行的编程语言,尤其在数据分析领域。Python拥有丰富的库和框架,可以帮助你执行各种数据分析任务。Python常用的数据分析工具之一:NumPy。
Numpy用于进行大规模数值和矩阵运算,提供了多维数组对象和一系列操作这些数组的函数。
numpy-base:
numpy-base是NumPy包的一个子集,它提供了NumPy的核心功能。以下是一些numpy-base包含的功能:
(1)多维数组对象(ndarray):NumPy的核心数据结构,用于存储同质数据类型的元素。
(2)数组创建和操作:创建数组,数组切片,数组拼接等。
(3)数学函数:执行基本的数学运算,如加减乘除,三角函数等。
(4)索引和切片:提供灵活的索引和切片操作来访问和修改数组中的元素。
(5)数据类型:定义和使用不同的数据类型,如整数,浮点数等。
1.创建NumPy类型的数组:
import numpy as np
#创建一维数组:
d = np.arange(15)
print(d)
#创建二维数组:
d1 = d1.reshape(3,5)
print(d1)
#创建三维数组:
d2= np.arange(15).reshape(5,3)
print(d2)
创建数组的四种方式:
import numpy as np
#方式1
data1 = np.arange(15).reshape(5,3)
print(data1)
#方式2
#创建全0矩阵
print(np.zeros(10)) #一维数组
print(np.zeros((2,5))) #二维数组
print(np.zeros((2,3,4))) #三维数组
#方式3
#创建创建全1矩阵
print(np.ones(10)) #一维数组
print(np.ones((2,5))) #二维数组
print(np.ones((2,3,4))) #三维数组
#方式4
print(np.empty((1,2,3)))
2.转换数据类型:
import numpy as npdata = np.array([1,2,3,4,5,6])
#输出数据类型,类型为int。
print(data.dtype)#类型转换 将int转化为float
data = np.array([1,2,3,4,5,6],dtype=np.float64)
#输出数据类型,类型为float。
print(data.dtype)#类型转换 将float转化为int
data = data.astype(np.int32)
#输出数据类型,类型为int。
print(data.dtype)
3.索引与切片
索引和切片用于获取数组中部分的数据,尤其是切片
(1)索引
一维数组:
import numpy as npdata = np.array([1,2,3,4,5,6])
print(data)
#获取数字4的值,通过下标值指向要获取的数据,下标值由0开始至无限大
print(data[3])
#负数从右侧向左侧数,通常情况用于获取最后一个数,[-2]为数组中的5
print(data[-2])
二维数组:
import numpy as np#创建一个2行7列的二维数组
data = np.arange(14).reshape(2,7)#输出结果为[[0 1 2 3 4 5 6] [7 8 9 10 11 12 13]]
print(data)#输出结果为第一行第五列,数据为4
print(data[0,4])#输出结果为倒数第一行倒数第一列,数据为13
print(data[-1,-1])#输出结果为倒数第一行倒数第一列和第一行倒数第一列,数据为13,6
print(data[-1,-1],data[0,-1])
三维数组:
import numpy as np#创建一个 [[[0 1 2 3 4] 的三维数组
# [5 6 7 8 9]
# [10 11 12 13 14]]
#
# [[15 16 17 18 19]
# [20 21 22 23 24]
# [25 26 27 28 29]]]
data = np.arange(30).reshape(2,3,5)
print(data)#输出结果为15
print(data[1,0,0])#输出结果为14,29
print(data[0,2,-1],data[-1,-1,-1])#同上,两种不同写法
print(data[0][2][-1],data[-1][-1][-1])
(2)切片
一维数组:
import numpy as npdata = np.array([1,2,3,4,5,6])
#a~b,a<=x<b ,左闭右开#输出结果为[1,2,3]
print(data[0:3])#输出结果为[3,4,5,6]
print(data[2:])#输出结果为[1,2,3,4]
print(data[:4])#输出结果为[1,2,3,4]
print(data[:-2])
二维数组:
import numpy as npdata = np.arange(14).reshape(2,7)
print(data)
#参数1:行参数
#参数2:列参数#输出结果为[[7 8 9]]
print(data[1:,:3])#输出结果为[[3][10]]
print(data[:,3:4])#输出结果为[[10]]
print(data[1:,3:4])
三维数组:
import numpy as npdata = np.arange(30).reshape(2,3,5)
print(data)
print(data[0:1,:,0:2])
print(data[0:1,2:,0:2])
print(data[0:1,2:,:])
4.numpy数据运算:
import numpy as npa = np.random.random(10000)*10
b = np.random.random(10000)*10
print(a)
print(b)
#算术运算
#加
print(a+b)
print(np.add(a,b))
#减
print(a-b)
print(np.subtract(a,b))
#乘
print(a*b)
print(np.multiply(a,b))
#除
print(a/b)
print(np.divide(a,b))#数学运算
ang = np.array([0,30,45,60,90,120,135,150,180])
rad = np.sin(ang*np.pi/180)
print(rad)#统计运算
data = np.array([1,2,3,4,5])
#求平均值
print(data.mean())
print(np.average(data))
# 配置权重
print(np.average(data,weights=np.array([2,2,1,1,1])))
print(np.average(data,weights=np.array([1,1,1,2,2])))
#求中位数
print(np.median(data))
#求方差
print(np.var(data))
#标准差
print(np.std(data))#聚合运算
#累加
print(np.sum(data))
#累乘
print(np.prod(data))
#求最大值
print(np.max(data))
#求最小值
print(np.min(data))data = np.array([1,2,3,4,5])
#筛选,排序
#输出选中数据的下标值
print(np.where(data>3))
print(np.where(data>1))
print(np.where(data<3))
#排序
print(np.sort([5,3,7,9,1,4,2,3,6,8]))
print(np.sort([5,3,7,9,1,4,2,3,6,8])[::-1])
相关文章:
python数据分析
Python是一种非常流行的编程语言,尤其在数据分析领域。Python拥有丰富的库和框架,可以帮助你执行各种数据分析任务。Python常用的数据分析工具之一:NumPy。 Numpy用于进行大规模数值和矩阵运算,提供了多维数组对象和一系列操作这…...
UGUI(现成组合控件)
Drop Down Scroll View Scroll Bar size是滚动条的填充程度 Slider 如果设置为静态,那么传入的值始终为自己设置的那个值 Input Field content type为standard时 可以设置line type, 只读不改,就是可以复制,但是你已经不能输入了…...
软件交付体系文件(Word源资料)
软件文档交付清单是指在软件开发项目完成后,开发团队需要准备的一份详细清单,用于确保交付的软件产品符合客户需求并达到预期的质量标准。以下是软件文档交付清单中可能包含的一些关键要素 软件全套资料部分文档清单: 工作安排任务书…...
【视频目标分割-2024CVPR】Putting the Object Back into Video Object Segmentation
Cutie 系列文章目录1 摘要2 引言2.1背景和难点2.2 解决方案2.3 成果 3 相关方法3.1 基于记忆的VOS3.2对象级推理3.3 自动视频分割 4 工作方法4.1 overview4.2 对象变换器4.2.1 overview4.2.2 Foreground-Background Masked Attention4.2.3 Positional Embeddings 4.3 Object Me…...
掌握 C# 文件和输入输出操作
在任何编程语言中,文件和输入输出操作(I/O)都是非常重要的组成部分。C# 提供了一系列工具和类来帮助开发者处理文件的读取、写入、二进制文件的处理以及数据的序列化与反序列化。本文将介绍 C# 中的文件操作,包括 File 类、Stream…...
k8s 中的金丝雀发布(灰度发布)
目录 1 什么是金丝雀发布 2 Canary 发布方式 3 Canary 两种发布方式实操 3.1 准备工作 3.1.1 将 nginx 命名两个版本 v1 与 v2 3.1.2 暴露端口并指定微服务类型 3.1.3 进入 pod 修改默认发布文件 3.1.4 测试 service 是否正常 3.2 基于权重的灰度发布 3.2.1 创建 Igress 资源类…...
《IDEA:让编程效率翻倍的强大工具》
哪个编程工具让你的工作效率翻倍? 在众多编程工具中,IntelliJ IDEA 无疑是一款让我的工作效率得到显著提升的利器。 一、功能特点 智能代码补全 IDEA 的代码补全功能极其智能。它不仅能根据你输入的前缀快速列出可能的代码选项,还会根据上…...
Docker 部署 Prometheus+Grafana 监控系统快速指南
Docker 部署 PrometheusGrafana 监控系统快速指南 文章目录 Docker 部署 PrometheusGrafana 监控系统快速指南一 创建网络二 监控部署三 配置 prometheus.yml四 测试部署是否成功五 Grafana表盘下载 本文详细介绍了通过 Docker 和 Docker Compose 快速部署 Prometheus 和 Grafa…...
No.8 笔记 | SQL 查询语句:数据探索的钥匙
2024/10/7 心记 - 致在路上默默奋斗的你 在当今数字化的时代,网络安全已成为我们生活中不可或缺的一部分。它如同守护数字世界的隐形盾牌,保护着我们的隐私、数据和整个社会的稳定运行。 学习网络安全,是踏上一段充满挑战与机遇的征程。 每一…...
全局数据在Python包中模块间管理方法探讨
在开发大型 Python 应用程序时,有时需要多个模块共享和管理全局数据。如何优雅地在 Python 包内的不同模块间共享全局数据是一个常见的设计问题。我们希望避免全局变量的混乱和难以维护的代码,但同时能够安全、高效地管理这些共享数据。 下面我们将探讨…...
无人机在矿业领域的应用!
矿区测绘与建模 无人机可以快速、全面地获取矿区的地形地貌数据,生成高精度的二维或三维模型。 这些模型可用于矿区的规划、设计、监测和管理,提高矿山的生产效率。 库存量量化监测 无人机能够捕捉厘米级的地形数据,通过计算得出准确的库…...
基于JavaWeb开发的java springmvc+mybatis学生考试系统设计和实现
基于JavaWeb开发的java springmvcmybatis学生考试系统设计和实现 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各…...
【CKA】四、etcd的备份与恢复
4、etcd的备份与恢复 1. 考题内容: 2. 答题思路: 1、ssh到有etcdctl、etcdutl命令的节点 2、备份时注意添加证书并保证路径正确 3、备份完可以验证下 4、恢复备份时要停服务,恢复备份后重启kubelet 题型是一样的,我考的证书的路…...
基于Arduino的SG90舵机驱动
一.SG90舵机引脚说明 SG90舵机三根线的连接方法: 1.红色线:电源线(VCC),接入5v电源 2.棕色线:地线(GND),接地 3.黄色线:信号线(SIG)…...
大模型泡沫破了?| 转行建筑师混战大模型圈
最近秋招惨淡卷动,**地产天坑不敢进,科技大厂不可期。**阿里直裁应届生、腾讯拉长职级晋升时间,字节一家繁荣,但也在和美国政府大打官司。此前「大模型」风生水起,但近期融资、应用双双预冷。 GPT-5迟迟不出࿰…...
Windows开发工具使用技巧
Windows开发工具使用技巧 在Windows系统下进行软件开发时,掌握并熟练使用合适的开发工具可以极大地提高工作效率和代码质量。本篇文章将介绍几款常见的Windows开发工具及其使用技巧,涵盖集成开发环境(IDE)、命令行工具、版本控制…...
【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速...
【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速… 【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速… 文章目录 【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速...前言…...
Leecode热题100-560.和为k的子数组
给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2示例 2: 输入:nums [1,2,3], k…...
Mac 卸载 IDEA 流程
1、现在应用程序中删除Idea 2、进入Library目录 cd /Users/zhengzhaoxiang/Library 3、删除IntelliJIdea2023.3(根据自己的版本而定)记得进去看下是否删除干净了 rm -rf Logs/JetBrains/IntelliJIdea2023.3 rm -rf Preferences/com.jetbrains.intel…...
vue3 antdv3/4 Modal显示一个提示,内容换行显示。
1、官网地址: Ant Design Vue — An enterprise-class UI components based on Ant Design and Vue.js 2、显示个信息: Modal.info({title: This is a notification message,content: h(div, {}, [h(p, some messages...some messages...),h(p, some …...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
