栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pandas 合并表(concat + merge)并存储单行单列,多行多列

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pandas 合并表(concat + merge)并存储单行单列,多行多列

写在前面
  • 通常们需要进行多表合并操作,合并后有需要把处理后的表存储回去。
  • merge 通常按指定行进行合并,可以理解为Exel中的vlookup函数。
  • concat 通常按列名或行名合并,通过axis参数指定,可以用于新增多行或者多列(新增单行单列不需要这样麻烦,但新增多行多列建议使用concat)
1. merge 1.1参数详解
  • how 默认为inner,可设为inner/outer/left/right
  • on 根据某个字段进⾏连接,必须存在于两个DateFrame中(若未同时存在,则需要分别使⽤left_on和right_on来设置)
  • left_on 左连接,以DataFrame1中⽤作连接键的列
  • right_on 右连接,以DataFrame2中⽤作连接键的列
  • left_index 将DataFrame1⾏索引⽤作连接键
  • right_index 将DataFrame2⾏索引⽤作连接键
  • sort 根据连接键对合并后的数据进⾏排列,默认为True
  • suffixes 对两个数据集中出现的重复列,新数据集中加上
1.2 参考链接

https://blog.csdn.net/bqw18744018044/article/details/79944544

2. concat (新增行列比较好用) 2.1 参数详解
  • objs:要进行拼接的pandas对象,可用中括号[]将两个或多个对象括起来
  • axis:指定对象按照那个轴进行拼接,默认为0(纵向拼接),1为横向横向拼接
  • join:拼接的方式,inner为交集,outer为并集
  • join_axes:index的列表,仅在横向合并时使用,指明要将数据合并入哪个原表的index。
  • ignore_index:默认为False,如果设置为true,则无视表原来的轴标签,直接合并,合并后生成新的轴标签。
  • keys:表标识的列表,用来区分合并的表来自哪里。
2.2 参考链接

https://www.jb51.net/article/206970.htm
https://blog.csdn.net/nilingxi/article/details/123841413

2.3 实际场景
  • 工作时 用来更新数据, 代码只给了片段,所以给了较多注释
  • 有需要具体案例的私信
# 新加的多列, 先转化为同列名名的 dataframe对象
# increase_row 是上文代码构建的二维数组
new_rows = pd.DataFrame(increase_row, columns=df2.columns)
# 默认安列名合并 
# [df2, new_rows] 两个合并的dataframe对象 一定要这样放
new_df = pd.concat([df2, new_rows], axis=0, ignore_index=True)
# 存储会原表 dict_config["update_file"] 这里自己写成配置文件了,
new_df.to_excel(dict_config["update_file"], sheet_name='sheet1',
                        index=False, header=True)
3. 存储单行单列 修改单个值
  • 这部分相对比较简单,以下参考链接已经比较完善,就不做额外补充
https://www.jb51.net/article/163904.htm
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/861847.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号