老石榴pandas数据处理之三,pandas读写Excel,数据合并

本文通过实例讲解如何使用pandas进行Excel数据的读写、合并与列重组,以解决工作中遇到的多表格汇总问题。重点介绍了`read_excel()`、`to_excel()`和`concat()`函数的使用,以及`reindex()`对列排序的功能,帮助提升数据处理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

本文旨在结合实例解决Excel多表格的合并、对齐问题。
石榴妈——即老石榴的爱妻,有时会质疑老石榴学习编程的意义。但这回石榴妈在工作中遇到一点点小问题,希望老石榴能用编程的方法解决以提高工作量,老石榴表现的机会来了(搓手())。
背景如下,我们工作中或多或少也遇到过,石榴妈需要汇总各个自总司的表格,总表的格式是统一的,然而各个子公司报上来的表格却个有差别,石榴妈需要一个个列去汇总到总表上,以统一格式。工作量很大,待汇总的表成百上千,如此一来还容易发生人为差错。
那么怎么办呢?怎么解决Excel表格的对齐、合并问题呢?
Life is short,you need python!
所以我们学习编程,并不一定是要从事某一具体专业,而是作为一种技能,更好的完成我们的工作、学业。

数据

数据老石榴在kaggle上随便找的Excel表格,将表格拆分成了3个表格,并将表格3的Smoking、Diabetes进行了打乱,以模拟背景案例。
在这里插入图片描述

知识点

言归正传,介绍本文知识点。首先我们要了解数据处理都分为哪几个阶段,数据准备中又有哪几个过程,着重介绍了数据准备的加载,拼接的一些基本用法。。我们需要用到哪些函数(方法)。

1.数据处理的三个阶段

  • 数据准备
  • 数据转换
  • 数据聚合

数据准备

数据准备主要包括以下几个步骤

  • 加载(读入)

  • 组装

  • 合并(merging)

  • 拼接(concatenation)

  • 组合(combine)
    -变形(轴向旋转)

2.函数

Excel的读写

pd…read_excel()
pd.DataFrame.to_excel()

数据拼接

pd.DataFrame.concat()
pd.DataFrame.reindex() 对列重组

具体用法在下文介绍

代码

导入pandas包,我们还是用pandas 实现

  • 读excel、写excel,
  • 数据合并
  • 列的重新排序
import pandas as pd

将读入的三个表 表1,2,3,分别转化成DataFrame数据类型,以进行下一步操作。

  • 导入数据,应用read_excel()函数,index_col这一参数,index_col : int, list of int, default None,他的目的是以第几列作为index,默认的none则是创建一个新的整数index
df1 = pd.read_excel('1.xlsx',index_col=None) #index_col 代表从哪一行开始做索引,0 12345这个序列
df2 = pd.read_excel('2.xlsx')
df3 = pd.read_excel('3.xlsx')

把这三个数据输出出来瞜一眼

df1
df2
df3
Gender Symptoms Alcohol Smoking HBsAg HBeAg HBcAb HCVAb Diabetes Cirrhosis Endemic
0 1 1 0 1 0 0 0 0 1 0 0
1 1 1 0 1 1 0 1 0 0 1 1
2 1 1 1 1 0 0 1 1 0 1 0
3 0 0 1 1 0 0 0 0 0 1 0
4 1 1 1 1 0 0 0 0 1 1 0
5 1 0 0 0 0 0 0 0 1 0 0
6 0 1 0 0 0 0 0 0 0 1 0
7 1 1 1 1 0 0 1 0 0 1 0
8 1 1 1 0 0 0 1 0 0 1 0
9 1 1 1 0 0 0 0 0 1 1 0
10 0 1 1 0 0 0 1 0 0 1 0
11 0 1 0 0 0 0 1 0 0 1 1
12 1 1 1 1 0 0 0 0 0 1 0
13 1 1 1 1 0 0 0 0 0 1 0
14 1 1 1 0 0 0 0 0 0 1 0
15 1 1 1 1 0 0 0 0 0 1 0
16 1 1 1 1 0 0 1 1 0 1 0
17 1 1 1 0 0 0 0 0 0 1 0
18 1 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值