python数据分析-matplotlib、numpy、pandas

news2024/9/28 3:26:59
    • 数据分析概述

  • 数据分析就是用适当的方法对收集来的大量数据进行分析,帮助人们在一处判断,以便采取适当行动

  • 数据分析流程

  • jupyter notebook说明

    • matplotlib:Matplotlib — Visualization with Python

基本要点

  • 能将数据进行可视化,更直观的呈现

  • 能使数据更加客观、更具说服力

  • 最流行的python底层绘图库,主要做数据与可视化图表

  • 主要使用的是matplotlib库里面的pyplot

  • 折线图

  • plot(x,y):以x为横坐标轴,以y为横坐标轴,展示

  • show():展示绘制的图像

  • figure(figsize=(20,8),dpi=80)

  • figure图形图标的意思,在这里指的就是所画的图

  • 通过实例化一个figure并且传递参数,能够在后台自动使用该figure实例

  • 在图像模糊时候可以传入dpi参数,让图像更加清晰

  • savefige("路径"):可以保存为svg这种矢量图格式,放大不会有锯齿

  • 设置横竖坐标轴

  • xticks():里面可以放列表推导式或者使用range()来指定横坐标轴的刻度

  • 如:plt.xticks(range(2,25))或者plt.xticks([i/2 for i in range(4,49)])

  • yticks():通常里面放range(),可以指定最小值和最大值,通过调整步长来调整刻度

  • 如:plt.yticks(range(min(y),max(y)+1,2))

  • 在里面添加rotation=度数的参数,可以指定旋转的度数

  • 横竖轴也可以用字符串表示

  • 要注意数字和字符串要一一对应,数据的长度一样

  • 设置字体格式

  • matplotlib.rc():第一种可以传递多个参数,第二种只能传递一个参数

  • import matplotlib

  • matplotlib.rc("font",family='MicroSoft YaHei')

  • 另一种方式:通过matplotlib下的font manager解决

  • 添加描述信息

  • xlabel():x轴描述信息

  • ylabel():y轴描述信息

  • title():标题

  • grid():绘制网格

  • legend():设置图例

  • 散点图:scatter()

  • 条形图:bar()

  • 直方图:hist()

  • echart、plotly、seabom

    • numpy

  • 在numpy中可以理解为方向,使用0,1,2.....数字表示

  • 对于一个一维数组,只有一个0轴

  • 对于二维数组(shape(2,2)),有0轴和1轴

  • 二维中:axis=0为跨行,即按列操作,从上到下;axis=1从左到右

  • 对于三维数组(shape(2,2,2)),有0,1,2轴

  • 三维中:axis=0为从外到内,1为从上到下,2为从左到右

  • numpy读取数据

  • np.loadtxt(frame,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)

  • 转置

  • 取值

  • 取行

  • 取第二行:print(t2[2])

  • 取连续的多行

  • 第三行及其之后的所有行:print(t2[2:])

  • 取不连续的多行

  • 取第二、八、十行:print(t2[[1,7,9]])

  • 取列

  • 取第0列:print(t2[:,0])

  • 取连续的多列

  • 第三列及其之后的所有列:print(t2[:,2:])

  • 取不连续的多列

  • 取第一、三列:print(t2[:,[0,2]])

  • 取特定值

  • 取第三行第四列的值:print(t2[2,3])

  • 取多行多列

  • 第三行到第五行,第二列到第四列:print(t2[2:5,1:4])

  • 取多个不相邻的点

  • 取(0,0)(2,1)(2,3):print(t2[[0,2,2],[0,1,3]])

  • 对数值进行修改

  • 先取值,再修改即可

  • 特定值修改

  • clip():裁剪

  • 数据的拼接

  • 竖直拼接

  • 水平拼接

  • 数组的行列交换

  • 其他方法

  • 获取最大值最小值的位置

  • np.argmax(数组,维度)

  • np.argmin(数组,维度)

  • 创建一个全为0的数组:np.zeros((x,y))

  • 创建一个全为1的数组:np.ones((x,y))

  • 创建一个对角线为1的正方形数组:np.eye(x)

  • 随机数生成

  • 浅拷贝和深拷贝

  • a=b,完全不复制,a和b相互影响

  • a=b[:],视图的操作,一种切片,会创建新的对象a,但是a的数据完全由b报告,他们两个的数据变化是一致的

  • a=b.copy(),复制,a和b互不影响

  • nan和inf

  • 都是float类型

  • nan(NAN,Nan):not a number表示不是一个数字

  • 当读取本地文件为float时候,若有缺失,就会出现nan

  • 当做了一个不适合的计算的时候,也会出现

  • 注意点

  • 两个nan是不相等的(np.nan!=np.nan)

  • 利用此特性可以判断数组内nan的个数,也可以通过np.count_nonzero(np.isnan())计算

  • nan和任何值计算都为nan

  • nan不能简单的替换

  • inf(-inf,inf):infinity,inf表示正无穷,-inf表示负无穷

  • 当一个数字除以0,python会直接报错,numpy是一个inf或者-inf

  • 常用统计函数

    • pandas

  • numpy能够帮助我们处理数值,但是pandas除了处理数值之外(基于numpy),还能帮我们处理其他类型(如字符串、时间序列等)的数据

  • 常见类型

  • Series 一维,带标签数组

  • 修改dtype

  • 切片和索引

  • DataFrame 二位,Series容器

  • DataFrame

  • 行索引和列索引指定

  • 可以转换为DataFrame类型

  • 基础属性

  • 整体情况查询

  • 取值

  • df.loc:通过标签索引获取行数据

  • df.iloc:通过位置获取行数据

  • 布尔索引

  • 字符串方法

  • pandas读取数据

  • (25条消息) Pandas模块-数据读取和数据类型_Michael.py的博客-CSDN博客_pandas读取的数据类型

  • 缺失值处理

  • 数据合并

  • join():默认情况下,他是把行行索引相同的数据合并在一起

  • merge():按照指定的列,把数据按照一定的方式合并到一起

  • inner是交集,outer是并集

  • 数据的分组聚合

  • group=df.groupby(by='Country')

  • 得到的是<pandas.core.groupby.generic.DataFrameGroupBy object at 0x0000026BC1B9E0D0>

  • 可以进行遍历

  • 可以选中特定分组

  • 可以调用聚合方法

  • 常见的聚合操作

  • 按多个条件进行分组

  • 返回Series

  • 返回DataFrame

  • 索引和复合索引

  • 简单的索引操作

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

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

相关文章

docker基本命令演示

docker拉取redis镜像演示首先前往&#xff1a;https://hub.docker.com找到需要的redis镜像然后 点击之后使用命令 docker pull redis 拉取redis 成功之后使用命令 docker images 查看本地的镜像使用命令导出镜像到指定文件 docker save -o redis.tar redis:latestdocker save…

Android13适配

遇到的一些问题 1.WebChromeClient的 API onReachedMaxAppCacheSize 没了 onReachedMaxAppCacheSize overrides nothing // 扩充缓存的容量override fun onReachedMaxAppCacheSize(spaceNeeded: Long, totalUsedQuota: Long, quotaUpdater: QuotaUpdater) {quotaUpdater.upda…

QT学习笔记(下)

项目实践 前言 本项目的实践主要是以翻金币的项目为例&#xff0c;进行QT项目的实践。游戏分为3个场景&#xff0c;分别是mainscene主场景、chooselevelscene选择关卡场景、playscene游戏场景&#xff0c;以上的三个场景是按顺序实现的。并且定义了两个自定义的QPushButton按…

数据库,计算机网络、操作系统刷题笔记24

数据库&#xff0c;计算机网络、操作系统刷题笔记24 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle…

c++下 ADO+配置数据源连接oracle数据库

测试环境&#xff1a;在本地局域网内远程连接服务器端的oracle数据库&#xff0c;VS2013、ADO方式。2、本地安装oracle数据库客户端&#xff0c;具体是安装32位还是64位的数据库客户端&#xff0c;取决于我们编译的程序是32位的还是64位的&#xff08;和计算机的系统位数没有关…

首款通过! 机器学习服务活体检测算法荣获CFCA权威安全认证

随着人脸识别技术在金融、医疗等多个领域的加速落地&#xff0c;网络安全、信息泄露等问题愈为突出&#xff0c;用户对应用稳定性和安全性的要求也更为严格。为保障各行业高效稳定的开展业务&#xff0c;提前发现和应对潜在安全风险&#xff0c;华为 HMS Core 机器学习服务&…

【回答问题】ChatGPT上线了!给我推荐20个比较流行的图神经网络模型

给我推荐20个比较流行的图神经网络模型 很高兴为您推荐流行的图神经网络模型。这里是我的推荐列表&#xff1a; 卷积神经网络 (CNN) 递归神经网络 (RNN) 自注意力机制 (Transformer) 双向递归神经网络 (BRNN) 门控循环单元 (GRU) 长短期记忆网络 (LSTM) 双流图神经网络 (Bi-D…

鲁大师2022牛角尖颁奖盛典落幕,年度最强产品揭晓!

1月4日&#xff0c;鲁大师2022年度牛角尖颁奖晚会在湖北襄阳成功举办。鲁大师的”牛角尖”奖是由过去一年上亿用户通过鲁大师测试得到的真实数据&#xff0c;以及鲁大师实验室通过专业的测试规范共同缔造的硬件奖项。颁发给的都是各大PC、手机、电动车领域最优秀、最顶尖的产品…

JAVA 的内存泄露分析

背景 前不久&#xff0c;上线了一个新项目&#xff0c;这个项目是一个压测系统&#xff0c;可以简单的看做通过回放词表&#xff08;http请求数据&#xff09;&#xff0c;不断地向服务发送请求&#xff0c;以达到压测服务的目的。在测试过程中&#xff0c;一切还算顺利&#x…

统一网关Gateway

网关功能&#xff1a; 身份验证、权限校验服务路由、负载均衡请求限流 网关实现技术&#xff1a; gatewayzuul Zuul是基于Servlet的实现&#xff0c;属于阻塞式编程。而SpringCloudGateway则是基于Spring5中提供的WebFlux&#xff0c;属于响应式编程的实现&#xff0c;具备更…

Servlet 综合案例(empProject)

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;Java案例分…

计算机网络进阶 ---- 网络类型 ---- 二层封装协议 ---- HDLC ---- PPP ---- pap认证 ---- chap认证 ---- 详解

一、网络类型&#xff1a; 【1】点到点 &#xff08;Peer to Peer – p2p&#xff09; ---- 在一个网段中&#xff0c;只能部署两个节点&#xff1b;【2】MA&#xff08;Multiple Access&#xff09; ---- 多路访问 ---- 一个网段中&#xff0c;可以部署的节点数量不限制&…

经典文献阅读之--OV2SLAM(高速视觉slam)

0. 简介 视觉里程计最近几年越来越受到学术界以及工业界的认可&#xff0c;以ORB和VINS为代表的视觉SLAM已经可以满足绝大多数场景&#xff0c;而OV2SLAM在其他VSLAM中脱颖而出&#xff0c;其实时性以及具体的回环性能在测试中都得到了认可。下面我们就来看一下《OV2SLAM : A …

TiDB分布式数据库架构介绍

简介 TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库&#xff0c;是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品&#xff0c;具备水平扩容或者缩容、金融级高可用、实时 HTAP、云…

Syncfusion Essential Studio Enterprise新功能

Syncfusion Essential Studio Enterprise新功能 添加了新的MediaQuery、Menute和Rating组件。 应用程序栏、浮动操作按钮、消息和快速拨号组件现在可以在生产中使用。 添加了对甘特图中按需加载的支持。 ASP.NET核心 添加了新的分级控件。 应用程序栏、浮动操作按钮、提及、消息…

什么是密码管理器?它安全吗?

密码管理器或密钥管理员是一类用于生成、检索、保存及管理复杂密码、数字签名的措施&#xff0c;可以由硬件或软件实现。因此&#xff0c;密码管理器一般也称作密码管理软件。复杂密码的生成一般按需要以随机算法产生&#xff0c;而密码数据则保存于一个以密码、数字签名等方式…

DP刷题(一)

目录 拆分单词 牛客题霸_牛客网 【思路梳理】​ 剑指 Offer II 100. 三角形中最小路径之和 【解法一】自顶向下 【解法二】自底向上 路径的数目 剑指 Offer II 098. 路径的数目 【解法一】 【解法二】 路径的数目&#xff08;加入障碍物&#xff09;63. 不同路径 II 【解…

unity 简单实现三阶魔方游戏

unity 简单实现三阶魔方游戏 魔方体验地址 工程文件免费下载 实现思路 一、魔方的旋转 三阶魔方由26个方块与 9个旋转轴组成。旋转轴旋转时带动在其控制范围的方块旋转。 旋转轴如何带动方块旋转&#xff1f; 把旋转轴控制范围内的方块设置成旋转轴的子物体&#xff0c;…

必背经典!这些软件测试面试题及答案别放过!

对于很多软件测试新手来说&#xff0c;技术面试往往是整个面试体系里最让人头疼的部分&#xff0c;今天我为选取了软件测试面试中&#xff0c;一些经典的问题和答案&#xff0c;供大家参考使用。并且&#xff0c;还给你们奉上了一个免费的面试刷题小程序哟&#xff01;拿走不谢…

调试前端代码二三事--(一)-调试基础

一&#xff0c;在网页上调试代码 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport…