当前位置: 首页 > news >正文

python3处理表格常用操作

  1. 使用pandas库读取excel文件
import pandas as pd
data = pd.read_excel('D:\\飞书\\近一年用量.xlsx')
  1. 指定工作表
import pandas as pd
data = pd.read_excel('D:\\飞书\\近一年用量.xlsx', sheet_name='Sheet1')
  1. 读取日期格式
data = pd.read_excel('example.xlsx', parse_dates=['Date'])
  1. 添加列名
data = pd.read_excel('example.xlsx', names=['A', 'B', 'C'])
  1. 保存为excel文件
data.to_excel('output.xlsx', index=False)
  1. 筛选数据
filtered_data = data[data['A'] > 10]
  1. 排序数据
sorted_data = data.sort_values(by='A')
  1. 分组数据
grouped_data = data.groupby('A')
  1. 计算分组统计信息
grouped_mean = grouped_data.mean()
  1. 查找替换数据
data.replace({'old_value': 'new_value'}, inplace=True)
  1. 插入列
data.insert(0, 'NewColumn', 'default_value')
  1. 删除列
data.drop(data.columns[0], axis=1, inplace=True)
  1. 重命名列
data.rename(columns={'A': 'NewColumnName'}, inplace=True)
  1. 合并两个表格数据
merged_data = pd.concat([data1, data2], ignore_index=True)
  1. 数据透视表
pivot_table = data.pivot_table(index='A', columns='B', values='C')
  1. 数据透视图
import matplotlib.pyplot as plt# 创建数据透视图
pivot_table = data.pivot_table(index='A', columns='B', values='C')
pivot_table.plot(kind='bar')
plt.show()
  1. 数据清理,去除空格和特殊字符
# 去除空格
data['ColumnName'].str.strip()# 去除特殊字符
data['ColumnName'] = data['ColumnName'].str.replace(r'[^a-zA-Z0-9]', '')
  1. 使用excel公式
# 使用Excel公式
data=pd.read_excel('example.xlsx')
data['NewColumn'] = '=SUM(A2:B2)'
  1. 获取某列数据的唯一值
# 获取A列唯一值
data["A"].unique()
  1. 删除重复行
# 删除重复行
df = df.drop_duplicates()
  1. 修改列名大小写
# 修改列名大小写
df.columns = [col.lower() for col in df.columns]
  1. 修改列顺序
# 修改列顺序
df = df[['B', 'A', 'C']]
  1. 添加新列
# 添加新列
df['D'] = df['A'] + df['B']
  1. 删除指定列
# 删除指定列
df = df.drop('A', axis=1)
  1. 使用表达式筛选数据
# 使用条件表达式筛选数据
filtered_data = df[(df['A'] > 10) & (df['B'] < 5)]
  1. 使用apply函数应用自定义函数

# 使用apply函数应用自定义函数
def custom_function(x):return x * 2df['A'] = df['A'].apply(custom_function)
  1. 使用map函数映射值
# 使用map函数映射值
df['A'] = df['A'].map({'old_value': 'new_value'})
  1. 使用fillna函数填充缺失值
# 使用fillna函数填充缺失值
df['A'].fillna(value=0, inplace=True)
  1. 使用interpolate
# 使用interpolate函数插值填充缺失值
df['A'].interpolate(inplace=True)
  1. 使用merge函数合并两个Dataframe
# 使用merge函数合并两个DataFrame
merged_data = pd.merge(df1, df2, on='key')
  1. 使用concat函数合并两个DataFrane
# 使用concat函数合并两个DataFrame
concatenated_data = pd.concat([df1, df2], ignore_index=True)
  1. 使用melt函数将宽格式数据转换为长格式数据
# 使用melt函数将宽格式数据转换为长格式数据
melted_data = pd.melt(df, id_vars=['A'], value_vars=['B', 'C'])
  1. 使用groupby函数分组数据并金属统计信息
# 使用groupby函数分组数据并计算统计信息
grouped_data = df.groupby('A').agg({'B': ['mean', 'sum']})
  1. 使用crosstab函数创建交叉表
# 使用crosstab函数创建交叉表
crosstab_data = pd.crosstab(df['A'], df['B'])
  1. 使用cut函数将连续变量话费为离散区间
# 使用cut函数将连续变量划分为离散区间
df['A'] = pd.cut(df['A'], bins=[0, 10, 20, 30])
  1. 脚本
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接口&#xff08;Auxiliary Port&#xff09;是网络设备&#xff08;如路由器、交换机等&#xff09;上的一个辅助端口&#xff0c;主要用于设备的配置、管理和维护。以下是关于AUX接口的一些关键点&#xff1a; ### 1. **功能** - **设备配置**&#xff1a;通过AUX接口连接…...

计算机毕业设计Python+Vue.js游戏推荐系统 Steam游戏推荐系统 Django Flask 游 戏可视化 游戏数据分析 游戏大数据 爬虫

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

【梦想终会实现】Linux驱动学习5

加油加油坚持住&#xff01; 1、 Linux驱动模型&#xff1a;驱动模型即将各模型中共有的部分抽象成C结构体。Linux2.4版本前无驱动模型的概念&#xff0c;每个驱动写的代码因人而异&#xff0c;随后为规范书写方式&#xff0c;发明了驱动模型&#xff0c;即提取公共信息组成一…...

Spring 核心技术解析【纯干货版】-Spring 数据访问模块 Spring-Jdbc

在 Spring 框架中&#xff0c;有一个重要的子项目叫做 spring-jdbc。这个模块提供了一种方 便的编程方式来访问基于 JDBC&#xff08;Java数据库连接&#xff09;的数据源。本篇博客将详细解析 Spring JDBC 的主要组件和用法&#xff0c;以帮助你更好地理解并使用这个强大的工具…...

Docker 安装详细教程(适用于CentOS 7 系统)

目录 步骤如下&#xff1a; 1. 卸载旧版 Docker 2. 配置 Docker 的 YUM 仓库 3. 安装 Docker 4. 启动 Docker 并验证安装 5. 配置 Docker 镜像加速 总结 前言 Docker 分为 CE 和 EE 两大版本。CE即社区版&#xff08;免费&#xff0c;支持周期7个月&#xff09;&#xf…...

Mac本地部署DeekSeek-R1下载太慢怎么办?

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

《Angular之image loading 404》

前言&#xff1a; 千锤万凿出深山&#xff0c;烈火焚烧若等闲。 正文&#xff1a; 一。问题描述 页面加载图片&#xff0c;报错404 二。问题定位 页面需要加载图片&#xff0c;本地开发写成硬编码的形式请求图片资源&#xff1a; 然而部署到服务器上报错404 三。解决方案 正确…...

JavaScript前后端交互-AJAX/fetch

摘自千峰教育kerwin的js教程 AJAX 1、AJAX 的优势 不需要插件的支持&#xff0c;原生 js 就可以使用用户体验好&#xff08;不需要刷新页面就可以更新数据&#xff09;减轻服务端和带宽的负担缺点&#xff1a; 搜索引擎的支持度不够&#xff0c;因为数据都不在页面上&#xf…...

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 引入了注解&#xff0c;现在它在 Java EE 框架&#xff08;如 Hibernate、Jersey 和 Spring &#xff09;中被大量使用。Java 注释是该语言的一个强大特性&#xff0c;用于向 Java 代码中添加元数据。它们不直接影响程序逻辑&#xff0c;但可以由工具、库或框架…...

网络安全学习

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

4 前端前置技术(上):AJAX技术、Axios技术(前端发送请求)

文章目录 前言一、Ajax技术&#xff08;从服务端获取数据&#xff0c;发送各种请求&#xff09;0 接口文档管理&#xff1a;使用apipost等接口测试软件创建接口便于前端后端分离测试1 基本概念2 原生Ajax使用示例&#xff08;几年前的早期用法&#xff09; 二、 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的核心组件&#xff0c;MVC框架、响应缓存、身份验证、CORS、Swagger等都是内置中间件。 广义上来讲&#xff1a;Tomcat、WebLogic、Redis、IIS&#xff1b;狭义上来讲&#xff0c;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结构 模块结构 模块代码 注&#xff1a;cpp扩展请参考作者原…...

使用jmeter进行压力测试

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

LQB(0)-python-基础知识

一、Python开发环境与基础知识 python解释器&#xff1a;用于解释python代码 方式&#xff1a; 1.直接安装python解释器 2.安装Anaconda管理python环境 python开发环境&#xff1a;用于编写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 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式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相关的已安装包

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

JVM虚拟机:内存结构、垃圾回收、性能优化

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

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

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

Qt的学习(一)

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