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…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
