Numpy、Pandas、Matplotlib学习(更新ing...)
数据科学
- 一、Numpy
- 二、Pandas
- 三、Matplotlib
- 参考链接
一、Numpy
在numpy中以np.nan
表示缺失值,它是一个浮点数。
二、Pandas
1、如要选出col0在30到80之间的行中col3与col1之差为奇数的行,或者col2大于50中的行col3超过col1均值的行,可以如下写出:
c11 = df["col 0"].between(30, 80)
c12 = (df["col 3"] - df["col 1"]) % 2 ==1
c21 = df["col 2"] > 50
c22 = df["col 3"] > df["col 1"].mean()
df.loc[(c11 & c12) | (c21 & c22)]
2、分别统计每一列的缺失值比例和每一行的缺失值比例
df.isna().mean() # 默认mean的axis参数为0,按照行方向计算列的均值。
df.isna().mean(axis=1)
如果想要统计每列包含的缺失值个数,只需把mean替换为sum即可。
如果想知道缺失的行或列具体实哪一些,可以如下操作:
df[df.isna().sum(1) >= 2]
在pandas中,删除某些包含缺失值的行或列可以通过dropna函数来实现:
df.dropna(axis=1,thresh=90) # axis为1和0分别指删除列和行
# thresh表示非缺失值没有达到这个数量的相应维度会被删除。
3、DataFrame.plot( )函数
使用pandas.DataFrame的plot方法绘制图像会按照数据的每一列绘制一条曲线,默认按照列columns的名称在适当的位置展示图例,比matplotlib绘制节省时间,且DataFrame格式的数据更规范,方便向量化及计算。
DataFrame.plot(x=None, y=None, kind='line', ax=None, subplots=False, sharex=None, sharey=False, layout=None, figsize=None, use_index=True, title=None, grid=None, legend=True, style=None, logx=False, logy=False, loglog=False, xticks=None, yticks=None, xlim=None, ylim=None, rot=None, fontsize=None, colormap=None, position=0.5, table=False, yerr=None, xerr=None, stacked=True/False, sort_columns=False, secondary_y=False, mark_right=True, **kwds)
4、将数据写入到Excel的多个sheet
有时一个excel内会有多个sheet。但是将两组数据通过to_excel函数先后保存到一个excel内会发现只有后一组保存的数据,因为前一组的数据被后写入的数据覆盖了。
df1.to_excel('xxx.xlsx',sheet_name='df1')
df2.to_excel('xxx.xlsx',sheet_name='df2')
使用pd.ExcelWriter建立一个writer,然后,将df1,df2都使用to_excel(writer, sheet名),最后一次性将这些数据保存,并关闭writer就完成了
writer = pd.ExcelWriter('xxx.xlsx')
df1.to_excel(writer,sheet_name="df1")
df2.to_excel(writer,sheet_name="df2")writer.save()
writer.close()
这样会覆盖我们原有的excel数据,如果不想覆盖,可以:
writer = pd.ExcelWriter('保存.xlsx') # 如果不存在,会自动创建excel
df = pd.read_excel("xxx.xlsx", sheet_name=xxx)
......
df_res.to_excel(writer, sheet_name=xxx, index=False)
5、找出每行或列的最大值所在的列索引或行索引:
返回一列最大值所在行的行索引df.idxmax()
,默认参数为0
若参数设置为1,则为一行最大值所在列的列索引df.idxmax(1)
(取最小值为df.idxmin()
)
三、Matplotlib
1、设置x轴为时间刻度
imoort pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdatesdf = pd.read_excel("***.xlsx")
# 绘制图像
fig, ax = plt.subplots()
ax.plot(df['time'], df['*'])
# 配置x轴时间间隔
time_format = mdates.DateFormatter('%H:%M:%S')
ax.xaxis.set_major_formatter(time_format)
ax.xaxis.set_major_locator(mdates.MinuteLocator(interval=240))
# 设置刻度位置
ax.set_xticks(pd.date_range(df['time'][0], df['time'][-1], freq='4h'))
# 还可以使用ax.set_xticklabels()来设置刻度的标签
# 设置开始坐标
ax.set_xlim(df['time'][0], df['time'][-1])
# 旋转x轴标签
fig.autofmt_xdate()
# 展示图形
plt.show()
参考链接
https://github.com/datawhalechina/joyful-pandas
https://github.com/datawhalechina/powerful-numpy
https://github.com/datawhalechina/fantastic-matplotlib
相关文章:
Numpy、Pandas、Matplotlib学习(更新ing...)
数据科学 一、Numpy二、Pandas三、Matplotlib参考链接 一、Numpy 在numpy中以np.nan表示缺失值,它是一个浮点数。 二、Pandas 1、如要选出col0在30到80之间的行中col3与col1之差为奇数的行,或者col2大于50中的行col3超过col1均值的行,可以…...
Linux-sdio接口
支持模式 4位模式: CMD:命令线,单向传输,由主机控制。 DAT0-DAT3:数据线,双向传输,由主机和外设共同控制。8位模式: CMD:命令线,单向传输,由主机…...

【MATLAB源码-第62期】基于蜣螂优化算法(DBO)的无人机三维地图路径规划,输出最短路径和适应度曲线。
操作环境: MATLAB 2022a 1、算法描述 蜣螂优化算法(Dung Beetle Optimization, DBO)是一种模拟蜣螂在寻找食物和进行导航的过程的优化算法。蜣螂是一种能够将粪球滚到合适地点的昆虫,它们利用天空中的光线和自身的感知能力来确…...

RealVNC Enterprise 7.7.0 Crack
RealVNC连接_旗舰产品 RealVNC Connect 是为需要强大安全性、弹性和安心的组织提供的远程访问解决方案。 设备访问 按需协助 随时随地安全访问和管理任何设备 通过安全的远程访问让您的组织保持联系,帮助您提高生产力并促进更广泛的协作。 随时随地安全远程访问和…...

Windows下Jenkins自动化部署SpringBoot应用
Windows下Jenkins自动化部署SpringBoot应用 1、下载安装包 下载地址: 一个是 msi 程序: https://mirrors.aliyun.com/jenkins/windows/ 一个是 war 程序: https://get.jenkins.io/war-stable/ https://mirrors.jenkins.io/war/ 这里我…...
Leetcode59螺旋矩阵2
代码: class Solution {public int[][] generateMatrix(int n) {if(n1){int[][] arr {{1}};return arr; }int[][] arr new int[n][n];int cnt1;int left 0,right n-1,top0,downn-1;while(left<right){for(int ileft;i<right;i){arr[top][i] cnt;}for(in…...

抖音很火的情侣飞行棋/真心话大冒险/情侣扫雷html网站源码带在线支付、代理分销等!
-------- 演示地址 -------- 演示地址:http://game.71.vy386.cn 演示后台:http://game.71.vy386.cn/admin 后台账号:admin888 后台密码:admin888 -------- 程序特色 -------- 1、完整的分销制度,可自定义多种不同…...

Word批量删除文档属性和个人信息方法图解
投标文件中设计敏感信息,在投标前必须删除,Word批量删除文档属性和个人信息方法图解: 右键word文件属性--详细信息,可以查看如下信息; 删除上述信息的办法: 1.打开word文件---文件 2.检查文档、检查文档 检…...
Kubernetes(K8s)从入门到精通系列之十八:使用 Operator Lifecycle Manager(OLM) 安装operator
Kubernetes从入门到精通系列之十八:使用 Operator Lifecycle Manager OLM 安装operator 一、先决条件二、安装operator三、示例:安装最新版本的 Operator四、示例:安装特定版本的 Operator 从运算符目录中安装运算符 通过 CatalogSource 将 …...
request、response请求转发和重定向
Request&Response request是请求对象,获取请求数据;response是响应对象,设置响应数据。 request获取请求数据 获取请求方式:request.getMethod(); 获取访问路径:request.getContextPath(); 获取UR…...
MySql学习路线
学习MySQL数据库的路线可以分为不同的阶段,从入门到高级,逐步掌握数据库管理和开发技能。以下是一个关于MySQL学习的路线: ### 初级阶段 1. **数据库基础知识**: - 学习数据库的基本概念,了解关系数据库管理系统&…...

Vue实现首页导航和左侧菜单,介绍mock.js并实现登录注册间的跳转,实现左侧栏折叠效果,优化Main.vue组件,使用mock.js生成随机响应数据
目录 1. mockjs 1.1 mockjs介绍 1.2 mockjs使用步骤 1.2.1 安装mockjs依赖 1.2.2 在项目中引入mockjs 1.2.3 创建目录和文件 1.2.4 为每个组件准备模拟数据 1.2.5 测试 1.2.6 前端调试 1.2.7 mockjs生成随机响应数据 1.2.8 根据不同响应,给出不同提示 2…...
汇总下之RobotFramework自动化框架的系列文章
总下之前分享的RobotFramework自动化框架的系列文章,有需要的同学可关注收藏 python自动化测试框架RobotFramework基础环境安装/使用(一) python自动化测试框架RobotFramework内置库BuiltIn介绍(二) python自动化测…...
0052【Edabit ★☆☆☆☆☆】Learn Lodash: _.drop, Drop the First Elements of an Array
0052【Edabit ★☆☆☆☆☆】Learn Lodash: _.drop, Drop the First Elements of an Array arrays Instructions According to the lodash documentation, _.drop creates a slice of an array with n elements dropped from the beginning. Your challenge is to write your…...

从无人机到实景三维海洋系统
无人机(比如大疆的测量无人机)测量的影像数据一般通过Pix4d处理以后生成OBJ或者FBX格式,在CesiumLab,转成3dtiles,就可以做成实景三维系统。Pix4d的教程在B站有很多,想了解的同学可直接在B站搜索学习&#…...
第二章前端开发ES6基础
目录 扩展运算符 概述 语法 应用 模板字符串 概述 应用 内置对象扩展 概述 数组扩展方法 字符串扩展方法 set数据结构 概述 基本使用 操作方法 遍历方法 认识symbol 概述 作用 基本使用 项目 扩展运算符 概述 扩展运算符(spread operator)是 ES6 中新…...

使用Python将PDF转为图片
将PDF转为图片能方便我们将文档内容上传至社交媒体平台进行分享。此外,转换为图片后,还可以对图像进行进一步的裁剪、调整大小或添加标记等操作。 用Python将PDF文件转JPG/ PNG图片可能是大家在一些项目中会遇到的需求,下面将详细介绍如何使用…...
JAVA 同城服务货运搬家小程序系统开发时应注意哪些?
在开发JAVA同城服务货运搬家小程序系统时,需要注意以下几点: 需求分析与设计:在开始开发前,需要对系统进行详细的需求分析与设计。这包括了对用户需求的理解、业务流程的梳理、数据库的设计以及界面设计等。确保系统的功能完善、…...

uniapp开发小程序 小米手机真机bottom:0无效 底部间隙 设备安全区域处理办法
uniApp自定义导航 CSS设置 bottom:0竟然无效,而iphone和开发模拟器没有问题 height: 150rpx;position: fixed;left: 0;right: 0;bottom: calc(var(--window-bottom,0)); 网上查了各种方法,包括设置bottom:-20啊以及 padding-bottom: constant(safe-are…...

四十、【进阶】索引失效情况2
1、or的使用 在使用索引查询时,如果使用了or,会出现以下情况: (情况一)or左边是索引查询,or右边不是索引查询 结果:索引查询失效 (情况二)or左边不是索引查询&#x…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...