python3处理表格常用操作
- 使用pandas库读取excel文件
import pandas as pd
data = pd.read_excel('D:\\飞书\\近一年用量.xlsx')
- 指定工作表
import pandas as pd
data = pd.read_excel('D:\\飞书\\近一年用量.xlsx', sheet_name='Sheet1')
- 读取日期格式
data = pd.read_excel('example.xlsx', parse_dates=['Date'])
- 添加列名
data = pd.read_excel('example.xlsx', names=['A', 'B', 'C'])
- 保存为excel文件
data.to_excel('output.xlsx', index=False)
- 筛选数据
filtered_data = data[data['A'] > 10]
- 排序数据
sorted_data = data.sort_values(by='A')
- 分组数据
grouped_data = data.groupby('A')
- 计算分组统计信息
grouped_mean = grouped_data.mean()
- 查找替换数据
data.replace({'old_value': 'new_value'}, inplace=True)
- 插入列
data.insert(0, 'NewColumn', 'default_value')
- 删除列
data.drop(data.columns[0], axis=1, inplace=True)
- 重命名列
data.rename(columns={'A': 'NewColumnName'}, inplace=True)
- 合并两个表格数据
merged_data = pd.concat([data1, data2], ignore_index=True)
- 数据透视表
pivot_table = data.pivot_table(index='A', columns='B', values='C')
- 数据透视图
import matplotlib.pyplot as plt# 创建数据透视图
pivot_table = data.pivot_table(index='A', columns='B', values='C')
pivot_table.plot(kind='bar')
plt.show()
- 数据清理,去除空格和特殊字符
# 去除空格
data['ColumnName'].str.strip()# 去除特殊字符
data['ColumnName'] = data['ColumnName'].str.replace(r'[^a-zA-Z0-9]', '')
- 使用excel公式
# 使用Excel公式
data=pd.read_excel('example.xlsx')
data['NewColumn'] = '=SUM(A2:B2)'
- 获取某列数据的唯一值
# 获取A列唯一值
data["A"].unique()
- 删除重复行
# 删除重复行
df = df.drop_duplicates()
- 修改列名大小写
# 修改列名大小写
df.columns = [col.lower() for col in df.columns]
- 修改列顺序
# 修改列顺序
df = df[['B', 'A', 'C']]
- 添加新列
# 添加新列
df['D'] = df['A'] + df['B']
- 删除指定列
# 删除指定列
df = df.drop('A', axis=1)
- 使用表达式筛选数据
# 使用条件表达式筛选数据
filtered_data = df[(df['A'] > 10) & (df['B'] < 5)]
- 使用apply函数应用自定义函数
# 使用apply函数应用自定义函数
def custom_function(x):return x * 2df['A'] = df['A'].apply(custom_function)
- 使用map函数映射值
# 使用map函数映射值
df['A'] = df['A'].map({'old_value': 'new_value'})
- 使用fillna函数填充缺失值
# 使用fillna函数填充缺失值
df['A'].fillna(value=0, inplace=True)
- 使用interpolate
# 使用interpolate函数插值填充缺失值
df['A'].interpolate(inplace=True)
- 使用merge函数合并两个Dataframe
# 使用merge函数合并两个DataFrame
merged_data = pd.merge(df1, df2, on='key')
- 使用concat函数合并两个DataFrane
# 使用concat函数合并两个DataFrame
concatenated_data = pd.concat([df1, df2], ignore_index=True)
- 使用melt函数将宽格式数据转换为长格式数据
# 使用melt函数将宽格式数据转换为长格式数据
melted_data = pd.melt(df, id_vars=['A'], value_vars=['B', 'C'])
- 使用groupby函数分组数据并金属统计信息
# 使用groupby函数分组数据并计算统计信息
grouped_data = df.groupby('A').agg({'B': ['mean', 'sum']})
- 使用crosstab函数创建交叉表
# 使用crosstab函数创建交叉表
crosstab_data = pd.crosstab(df['A'], df['B'])
- 使用cut函数将连续变量话费为离散区间
# 使用cut函数将连续变量划分为离散区间
df['A'] = pd.cut(df['A'], bins=[0, 10, 20, 30])
- 脚本
import pandas as pd
import openpyxlpath = 'D:\\飞书\\近一年用量.xlsx'
# pd.read_excel(path, sheet_name='导出结果')
data = pd.read_excel(path, sheet_name='移动')
data.insert(19, "月均使用量", '') # 新增一列,名字叫月均使用量,数据填充为空
data['月均使用量'] = data['总用量'] / 13
date = data.sort_values(by='月均使用量', ascending=False) # 降序排序,反之为True
date1G = date[(date['月均使用量'] <= 1024) & (date['月均使用量'] > 0)]
date2G = date[(date['月均使用量'] <= 2048) & (date['月均使用量'] > 1024)]
date4G = date[(date['月均使用量'] <= 4096) & (date['月均使用量'] > 2048)]
date6G = date[(date['月均使用量'] <= 6144) & (date['月均使用量'] > 4096)]
date10G = date[(date['月均使用量'] <= 10240) & (date['月均使用量'] > 6144)]
date12G = date[(date['月均使用量'] <= 12288) & (date['月均使用量'] > 10240)]
date15G = date[(date['月均使用量'] <= 15360) & (date['月均使用量'] > 12288)]
date20G = date[(date['月均使用量'] <= 20480) & (date['月均使用量'] > 15360)]
date1G.to_excel('D:\\飞书\\过去一年用量1G.xlsx')
date2G.to_excel('D:\\飞书\\过去一年用量2G.xlsx')
date4G.to_excel('D:\\飞书\\过去一年用量4G.xlsx')
date6G.to_excel('D:\\飞书\\过去一年用量6G.xlsx')
date10G.to_excel('D:\\飞书\\过去一年用量10G.xlsx')
date12G.to_excel('D:\\飞书\\过去一年用量12G.xlsx')
date15G.to_excel('D:\\飞书\\过去一年用量15G.xlsx')
date20G.to_excel('D:\\飞书\\过去一年用量20G.xlsx')
相关文章:
python3处理表格常用操作
使用pandas库读取excel文件 import pandas as pd data pd.read_excel(D:\\飞书\\近一年用量.xlsx)指定工作表 import pandas as pd data pd.read_excel(D:\\飞书\\近一年用量.xlsx, sheet_nameSheet1)读取日期格式 data pd.read_excel(example.xlsx, parse_dates[Date])添…...
AUX接口(Auxiliary Port)
AUX接口(Auxiliary Port)是网络设备(如路由器、交换机等)上的一个辅助端口,主要用于设备的配置、管理和维护。以下是关于AUX接口的一些关键点: ### 1. **功能** - **设备配置**:通过AUX接口连接…...

计算机毕业设计Python+Vue.js游戏推荐系统 Steam游戏推荐系统 Django Flask 游 戏可视化 游戏数据分析 游戏大数据 爬虫
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
【梦想终会实现】Linux驱动学习5
加油加油坚持住! 1、 Linux驱动模型:驱动模型即将各模型中共有的部分抽象成C结构体。Linux2.4版本前无驱动模型的概念,每个驱动写的代码因人而异,随后为规范书写方式,发明了驱动模型,即提取公共信息组成一…...
Spring 核心技术解析【纯干货版】-Spring 数据访问模块 Spring-Jdbc
在 Spring 框架中,有一个重要的子项目叫做 spring-jdbc。这个模块提供了一种方 便的编程方式来访问基于 JDBC(Java数据库连接)的数据源。本篇博客将详细解析 Spring JDBC 的主要组件和用法,以帮助你更好地理解并使用这个强大的工具…...

Docker 安装详细教程(适用于CentOS 7 系统)
目录 步骤如下: 1. 卸载旧版 Docker 2. 配置 Docker 的 YUM 仓库 3. 安装 Docker 4. 启动 Docker 并验证安装 5. 配置 Docker 镜像加速 总结 前言 Docker 分为 CE 和 EE 两大版本。CE即社区版(免费,支持周期7个月)…...

Mac本地部署DeekSeek-R1下载太慢怎么办?
Ubuntu 24 本地安装DeekSeek-R1 在命令行先安装ollama curl -fsSL https://ollama.com/install.sh | sh 下载太慢,使用讯雷,mac版下载链接 https://ollama.com/download/Ollama-darwin.zip 进入网站 deepseek-r1:8b,看内存大小4G就8B模型 …...

《Angular之image loading 404》
前言: 千锤万凿出深山,烈火焚烧若等闲。 正文: 一。问题描述 页面加载图片,报错404 二。问题定位 页面需要加载图片,本地开发写成硬编码的形式请求图片资源: 然而部署到服务器上报错404 三。解决方案 正确…...
JavaScript前后端交互-AJAX/fetch
摘自千峰教育kerwin的js教程 AJAX 1、AJAX 的优势 不需要插件的支持,原生 js 就可以使用用户体验好(不需要刷新页面就可以更新数据)减轻服务端和带宽的负担缺点: 搜索引擎的支持度不够,因为数据都不在页面上…...

ZooKeeper单节点详细部署流程
ZooKeeper单节点详细部署流程 文章目录 ZooKeeper单节点详细部署流程 一.下载稳定版本**ZooKeeper**二进制安装包二.安装并启动**ZooKeeper**1.安装**ZooKeeper**2.配置并启动**ZooKeeper** ZooKeeper 版本与 JDK 兼容性3.检查启动状态4.配置环境变量 三.可视化工具管理**Zooke…...
流浪地球发动机启动问题解析与实现
目录 引言问题分析 2.1 发动机启动状态管理 2.2 手动启动与关联启动逻辑 2.3 最晚启动发动机的确定Python 实现 3.1 代码实现 3.2 <...

Java 注解使用教程
简介 Java 1.5 引入了注解,现在它在 Java EE 框架(如 Hibernate、Jersey 和 Spring )中被大量使用。Java 注释是该语言的一个强大特性,用于向 Java 代码中添加元数据。它们不直接影响程序逻辑,但可以由工具、库或框架…...

网络安全学习
博客目录 1.Ddos 攻击2.SYN Flood3.如何应对 Ddos 攻击4.Xss 漏洞5.越权访问漏洞6.水平越权与垂直越权7.水平越权8.垂直越权 1.Ddos 攻击 DDos 全名 Distributed Denial of Service,翻译成中文就是分布式拒绝服务。指的是处于不同位置的多个攻击者同时向一个或数个…...

4 前端前置技术(上):AJAX技术、Axios技术(前端发送请求)
文章目录 前言一、Ajax技术(从服务端获取数据,发送各种请求)0 接口文档管理:使用apipost等接口测试软件创建接口便于前端后端分离测试1 基本概念2 原生Ajax使用示例(几年前的早期用法) 二、 Axios技术(对原…...

2022年全国职业院校技能大赛网络系统管理赛项模块A:网络构建(样题3)-网络部分解析-附详细代码
目录 附录1:拓扑图 附录2:地址规划表 1.SW1 2.SW2 3.SW3 4.SW4 5.SW5 6.SW6 7.SW7 8.R1 9.R2 10.R3 11.AC1 12.AC2 13.AP2 14.AP3 15.EG1 16.EG2 附录1:拓扑图 附录2:地址规划表 设备...

ASP.NET Core中间件的概念及基本使用
什么是中间件 中间件是ASP.NET Core的核心组件,MVC框架、响应缓存、身份验证、CORS、Swagger等都是内置中间件。 广义上来讲:Tomcat、WebLogic、Redis、IIS;狭义上来讲,ASP.NET Core中的中间件指ASP.NET Core中的一个组件。中间件…...

每日Attention学习22——Inverted Residual RWKV
模块出处 [arXiv 25] [link] [code] RWKV-UNet: Improving UNet with Long-Range Cooperation for Effective Medical Image Segmentation 模块名称 Inverted Residual RWKV (IR-RWKV) 模块作用 用于vision的RWKV结构 模块结构 模块代码 注:cpp扩展请参考作者原…...

使用jmeter进行压力测试
使用jmeter进行压力测试 jmeter安装 官网安装包下载,选择二进制文件,解压。 tar -xzvf apache-jmeter-x.tgz依赖jdk安装。 yum install java-1.8.0-openjdk环境变量配置,修改/etc/profile文件,添加以下内容。 export JMETER/…...

LQB(0)-python-基础知识
一、Python开发环境与基础知识 python解释器:用于解释python代码 方式: 1.直接安装python解释器 2.安装Anaconda管理python环境 python开发环境:用于编写python代码 1.vscode 2.pycharm # 3.安装Anaconda后可以使用网页版的jupyter n…...

每日Attention学习18——Grouped Attention Gate
模块出处 [ICLR 25 Submission] [link] UltraLightUNet: Rethinking U-shaped Network with Multi-kernel Lightweight Convolutions for Medical Image Segmentation 模块名称 Grouped Attention Gate (GAG) 模块作用 轻量特征融合 模块结构 模块特点 特征融合前使用Group…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...

Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...