Pandas教程15:多个DataFrame数据(保存+追加)为Excel表格数据

---------------pandas数据分析集合---------------
Python教程71:学习Pandas中一维数组Series
Python教程74:Pandas中DataFrame数据创建方法及缺失值与重复值处理
Pandas数据化分析,DataFrame行列索引数据的选取,增加,修改和删除操作
Pandas教程05:DataFrame数据常用属性和方法汇总
Pandas教程06:DataFrame.merge数据的合并处理
Pandas教程07:DataFrame数据的算术运算+逻辑运算+describe()方法+统计函数+自定义函数运算
Pandas教程08:教你DataFrame数据的条件筛选——精选篇
Pandas教程09:使用date_range函数,创建时间序列数据
Pandas教程10:DataFrame数据可视化绘制折线图、柱状图、散点图、饼形图
Pandas教程11:关于pd.DataFrame.shift(1)数据下移的示例用法
Tkinter教程22:DataFrame数据加入到treeview树视图(含横纵滚动条+正反向排序)
Pandas教程12:常用的pd.set_option方法,显示所有行和列+不换行显示等等…
Pandas教程13:groupby函数的分组、聚合、转换和过滤操作
Pandas教程14:DataFrame数据合并(concat+merge+_append+join)的4种方法
Pandas教程15:多个DataFrame数据(保存+追加)为Excel表格数据

Pandas教程16:DataFrame列标题批量重命名+空df数据判断+列名顺序重排

Pandas教程17:关于json数据转化成DataFrame数据,消除警告提示的方法。

Pandas教程18:df数据中含有的关键字批量replace替换+删除行或列

Pandas教程19:groupby分组后,对列中指定关键字的组,进行求和运算。

1.代码解析:1.先准备一个df1和df2数据,使用pd.concat函数进行df新旧数据合并处理,参数为多个df数据,列表类型,然后把处理后的数据打印出来。2.然后使用df_all.to_excel把它保存为表格数据,假设命名为古诗词.xlsx。3.再使用pd.read_excel读取一些刚刚的写的表格数据,如果能读到数据,说明写入成功了。这样就可以实现数据的保存和追加操作了。

# @Author : 小红牛
# 微信公众号:WdPython
import pandas as pddata1 = {'诗人': ['李白', '苏轼', '李清照', '杜甫'],'性别': ['男', '男', '女', '男', ],'年龄': [18, 26, 13, 15],'朝代': ['唐', '宋', '宋', '唐'],'薪资': [9000, 7000, 8000, 5000]}df1 = pd.DataFrame(data1)
print('1.原始Df1数据'.center(50, '-'))
print(df1)
data2 = {'诗人': ['岳飞', '纳兰性德', '曹雪芹'],'性别': ['男', '男', '男'],'年龄': [28, 26, 40],'朝代': ['宋', '清', '清'],'薪资': [7000, 6000, 8000]}
print('2.原始DF2数据'.center(50, '-'))
df2 = pd.DataFrame(data2)
print(df2)print('3.concat与新df数据合并'.center(50, '-'))
# concat 合并有相同字段名的dataframe数据
df_all = pd.concat([df1, df2], ignore_index=True)
print(df_all)
# 写数据
df_all.to_excel('古诗词.xlsx', index=False)print('4.读新旧表格数据'.center(50, '-'))
df_new = pd.read_excel('古诗词.xlsx')
print(df_new)

输出内容

--------------------1.原始Df1数据---------------------诗人 性别  年龄 朝代    薪资
0   李白  男  189000
1   苏轼  男  267000
2  李清照  女  138000
3   杜甫  男  155000
--------------------2.原始DF2数据---------------------诗人 性别  年龄 朝代    薪资
0    岳飞  男  287000
1  纳兰性德  男  266000
2   曹雪芹  男  408000
-----------------3.concat与新df数据合并-----------------诗人 性别  年龄 朝代    薪资
0    李白  男  189000
1    苏轼  男  267000
2   李清照  女  138000
3    杜甫  男  155000
4    岳飞  男  287000
5  纳兰性德  男  266000
6   曹雪芹  男  408000
--------------------4.读新旧表格数据---------------------诗人 性别  年龄 朝代    薪资
0    李白  男  189000
1    苏轼  男  267000
2   李清照  女  138000
3    杜甫  男  155000
4    岳飞  男  287000
5  纳兰性德  男  266000
6   曹雪芹  男  408000

2.如何合并多个DataFrames数据:有以下两种方法,处理完数据之后,就可以调用excel保存和读取方法了。

索引的唯一性:每次合并时,如果新的DataFrame具有与现有数据冲突的索引,Pandas会默认重置索引或引发错误。为了避免这种情况,你可以在合并之前设置新的索引或重置索引。

性能考虑:循环合并多个DataFrame可能不是最高效的方法,特别是当DataFrame的数量或大小很大时。如果可能的话,考虑一次性合并所有DataFrame。

import pandas as pd# 假设我们有很多个DataFrame数据
dataframes = []
for i in range(5):df = pd.DataFrame({'A': [i * 10], 'B': [i * 10]}, index=[i+1])dataframes.append(df)print(f'第{i+1}个df数据'.center(50, '-'))print(df)print('2.方法1: 一次性合并所有DataFrame数据'.center(50, '-'))
result_df1 = pd.concat(dataframes, ignore_index=True)
print(result_df1)print('3.方法2: 循环合并每个DataFrame数据'.center(50, '-'))
# 3.初始化一个空的DataFrame,用于保存合并结果
result_df2 = pd.DataFrame()
for df in dataframes:# 在这里,你可以选择是否重置索引,或者如何处理冲突的索引# 例如,你可以使用ignore_index=True来自动重置索引result_df2 = pd.concat([result_df2, df], ignore_index=True)print(result_df2)

在这个例子中,dataframes列表包含了5个DataFrame,每个DataFrame都有一个从1到5的整数索引。在循环中,我们使用pd.concat来合并每个DataFrame到result_df中,并设置ignore_index=True来自动重置索引。如果你正在处理大量数据或需要优化性能,请考虑一次性合并所有DataFrame,而不是使用循环。

输出内容:

---------------------1个df数据----------------------A  B
1  0  0
---------------------2个df数据----------------------A   B
2  10  10
---------------------3个df数据----------------------A   B
3  20  20
---------------------4个df数据----------------------A   B
4  30  30
---------------------5个df数据----------------------A   B
5  40  40
------------2.方法1: 一次性合并所有DataFrame数据-------------A   B
0   0   0
1  10  10
2  20  20
3  30  30
4  40  40
-------------3.方法2: 循环合并每个DataFrame数据-------------A   B
0   0   0
1  10  10
2  20  20
3  30  30
4  40  40

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/745252.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

公考-银发经济

问题: 养老服务质量差。机构设施不完善,服务质量参差不齐,缺乏日常的管理和监督。 专业人才培养不足,人才培养机制不完善,养老服务行业年轻人缺乏 养老科普不到位,不了解养老机构养老等新兴养老方式,对养老…

怎么避免电脑数据被拷贝?电脑如何禁用USB功能?

在无纸化办公的今天,很多重要数据都存放在电脑中。为了避免数据泄露,需要采用安全的方式保护电脑数据。那么,该如何避免电脑数据被拷贝呢?下面我们就来了解一下。 方法一:物理隔绝 物理隔绝是一种原始但有效的USB禁用…

《小程序从入门到入坑》框架语法

前言 哈喽大家好,我是 SuperYing,我们继续小程序入门系列,本文将对小程序框架语法进行比较全面的介绍。在《小程序从入门到入坑》简介及工程创建中,我们提到小程序项目结构,主要包括 app.json,app.js&…

STM32初识1

什么是单片机? 单片机( Single-Chip Microcomputer )是一种集成电路芯片,把具有数据处理能力的中央处 理器 CPU 、随机存储器 RAM 、只读存储器 ROM 、多种 I/O 口和中断系统、定时器 / 计数器等功 能(可能还包括显示…

学习Android的第二十九天

目录 Android Service 与 Activity 通讯 范例 Android Service Alarm 定时广播 Alarm Alarm 使用流程 范例 Android IBinder Binder 为什么是 Binder ? Android Service 与 Activity 通讯 Activity 与 Service 通信的媒介就是 Service 中的 onBind() 方法&#xff0…

部署快捷、使用简单、推理高效!大模型部署和推理框架 Xinference 来了!

今天为大家介绍一款大语言模型(LLM)部署和推理工具——Xinference[1],其特点是部署快捷、使用简单、推理高效,并且支持多种形式的开源模型,还提供了 WebGUI 界面和 API 接口,方便用户进行模型部署和推理。 …

【iOS】ARC学习

文章目录 前言一、autorelease实现二、苹果的实现三、内存管理的思考方式__strong修饰符取得非自己生成并持有的对象__strong 修饰符的变量之间可以相互赋值类的成员变量也可以使用strong修饰 __weak修饰符循环引用 __unsafe_unretained修饰符什么时候使用__unsafe_unretained …

机器视觉学习(三)—— 保存视频流

目录 一、获取视频 二、知识拓展 三、典型代码举例 一、获取视频 要使用OpenCV保存视频,可以按照以下步骤进行操作: """OpenCV打开摄像头设置摄像头参数录制视频 """ 1. 导入必要的库: import cv22. 创建一个VideoWriter对象…

蓝桥杯--冶炼金属

目录 一、题目 二、解决代码 (1)版本一(报错:超时) 代码分析 (2)版本二(不会超时) 代码分析 (3)版本三(最终精简版)…

css新特性?

CSS(层叠样式表)作为网页样式设计的关键语言,在不断发展和更新中也引入了许多新的特性以提供更强大的样式控制和设计能力。以下是一些较新的 CSS 特性: CSS Grid 布局:CSS Grid 布局是一种二维布局系统,可以…

Python自学☞序列和索引的相关操作

一、基本概念 1、概念 序列是一个用于存储多个值的连续空间,每个值都对应一个整数的编号,称为索引 2、切片的语法结构 注:切片可以访问序列一定范围内的元素 序列[start:end:step] start-->切片的开始索…

Python数据分析-5

1.时间序列 2.pandas重采样 重采样:指的是将时间序列从一个频率转化为另一个频率进行处理的过程,将高频率数据转化为低频率数据为降采样,低频率转 化为高频率为升采样。 统计出911数据中不同月份电话次数的变化情况&#xff1a…

vue3中的文字滚动播报

vue3中的文字滚动播报 之前UI框架一直使用的elementPlus,有个需求,需要在页面上写个滚动播放新闻的功能,发现UI框架居然没有这个组件。花了一下午,在ChatGPT的帮助下,总算写成功了,先看最终展示效果 web页…

动态规划 Leetcode 474 一和零

一和零 Leetcode 474 学习记录自代码随想录 要点:1.背包容量为二维,物品重量为数组元素长度,价值为1; 2.仍是01背包问题,递推公式仿照 d p [ j ] m a x ( d p [ j ] , d p [ j − w e i g h t [ i ] ] v a l u e …

GPT-5:人工智能的下一个前沿即将到来

当我们站在人工智能新时代的门槛上时,GPT-5即将到来的呼声愈发高涨且迫切。作为革命性的GPT-3的继任者,GPT-5承诺将在人工智能领域迈出量子跃迁式的进步,其能力可能重新定义我们与技术的互动方式。 通往GPT-5之路 通往GPT-5的旅程已经标记着…

Unreal发布Android在刘海屏手机上不能全屏显示问题

Unreal 4.27发布Android在刘海屏手机上不能全屏显示问题 Android设置全屏刘海屏全屏设置4.27设置刘海屏在部分手机不能显示问题 Android设置全屏 AndroidManifest.xml文件配置 ...<activity android:name"com.epicgames.ue4.GameActivity" android:label"st…

给电脑加硬件的办法 先找电脑支持的接口,再买相同接口的

需求&#xff1a;我硬盘太小&#xff0c;换或加一个大硬盘 结论&#xff1a;接口是NVMe PCIe 3.0 x4 1.找到硬盘型号 主硬盘 三星 MZALQ512HALU-000L2 (512 GB / 固态硬盘) 2.上官网查 或用bing查 非官方渠道信息&#xff0c;不确定。

FFmpeg概念和简单使用

FFmpeg是一个开源的跨平台多媒体处理工具套件&#xff0c;包含了用于处理音频、视频和图像的各种工具、库和命令行程序。它由一个主要的命令行工具ffmpeg和一系列相关工具组成&#xff0c;可以执行各种各样的多媒体操作。以下是FFmpeg中一些重要的概念&#xff1a; 音频、视频和…

CompletableFuture原理与实践-外卖商家端API的异步化

背景 随着订单量的持续上升&#xff0c;美团外卖各系统服务面临的压力也越来越大。作为外卖链路的核心环节&#xff0c;商家端提供了商家接单、配送等一系列核心功能&#xff0c;业务对系统吞吐量的要求也越来越高。而商家端API服务是流量入口&#xff0c;所有商家端流量都会由…

【深度学习笔记】9_5 多尺度目标检测

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;部分标注了个人理解&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 9.5 多尺度目标检测 在9.4节&#xff08;锚框&#xff09;中&#xff0c;我们在实验中以输入图像的每个像素为中心生成多个锚框。这些…