---------------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 pd
data1 = {'诗人': ['李白', '苏轼', '李清照', '杜甫'],
'性别': ['男', '男', '女', '男', ],
'年龄': [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 李白 男 18 唐 9000
1 苏轼 男 26 宋 7000
2 李清照 女 13 宋 8000
3 杜甫 男 15 唐 5000
--------------------2.原始DF2数据---------------------
诗人 性别 年龄 朝代 薪资
0 岳飞 男 28 宋 7000
1 纳兰性德 男 26 清 6000
2 曹雪芹 男 40 清 8000
-----------------3.concat与新df数据合并-----------------
诗人 性别 年龄 朝代 薪资
0 李白 男 18 唐 9000
1 苏轼 男 26 宋 7000
2 李清照 女 13 宋 8000
3 杜甫 男 15 唐 5000
4 岳飞 男 28 宋 7000
5 纳兰性德 男 26 清 6000
6 曹雪芹 男 40 清 8000
--------------------4.读新旧表格数据---------------------
诗人 性别 年龄 朝代 薪资
0 李白 男 18 唐 9000
1 苏轼 男 26 宋 7000
2 李清照 女 13 宋 8000
3 杜甫 男 15 唐 5000
4 岳飞 男 28 宋 7000
5 纳兰性德 男 26 清 6000
6 曹雪芹 男 40 清 8000
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