pandas拼接dataframe(Python语法之:Pandas数据合并总结)

admin 2024-05-20
Pandas有concat、append、join和merge四种方法用于dataframe拼接 concat、append、join、merge 区别如下: 1、.concat():pandas的顶级方法,提供了axis设置可用于df间行方向(增加行,下同)或列方向(增加列,下同)进行内联或外联拼接操作 2、.append():dataframe数据类型的方法,提供了行方向的拼接操作 3、.join():dataframe数据类型的方法,提供了列方向的拼接操作,支持左联、右联、内联和外联四种操作类型 4、.merge():pandas的顶级方法,提供了类似于SQL数据库连接操作的功能,支持左联、右联、内联和外联等全部四种SQL连接操作类型 concat concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True) """ 常用参数说明: axis:拼接轴方向,默认为0,沿行拼接;若为1,沿列拼接 join:默认外联'outer',拼接另一轴所有的label,缺失值用NaN填充;内联'inner',只拼接另一轴相同的label; join_axes: 指定需要拼接的轴的labels,可在join既不内联又不外联的时候使用 ignore_index:对index进行重新排序 keys:多重索引 """ append append(self, other, ignore_index=False, verify_integrity=False) """ 常用参数说明: other:另一个df ignore_index:若为True,则对index进行重排 verify_integrity:对index的唯一性进行验证,若有重复,报错。若已经设置了ignore_index,则该参数无效 """ join join(other, on=None, how='left', lsuffix='', rsuffix='', sort=False) """ 常用参数说明: on:参照的左边df列名key(可能需要先进行set_index操作),若未指明,按照index进行join how:{‘left’, ‘right’, ‘outer’, ‘inner’}, 默认‘left’,即按照左边df的index(若声明了on,则按照对应的列);若为‘right’abs照左边的df 若‘inner’为内联方式;若为‘outer’为全连联方式。 sort:是否按照join的key对应的值大小进行排序,默认False lsuffix,rsuffix:当left和right两个df的列名出现冲突时候,通过设定后缀的方式避免错误 """ merge pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None): """ 既可作为pandas的顶级方法使用,也可作为DataFrame数据结构的方法进行调用 常用参数说明: how:{'left’, ‘right’, ‘outer’, ‘inner’}, 默认‘inner’,类似于SQL的内联。'left’类似于SQL的左联;'right’类似于SQL的右联; ‘outer’类似于SQL的全联。 on:进行合并的参照列名,必须一样。若为None,方法会自动匹配两张表中相同的列名 left_on: 左边df进行连接的列

pandas拼接dataframe(Python语法之:Pandas数据合并总结)

right_on: 右边df进行连接的列 suffixes: 左、右列名称前缀 validate:默认None,可定义为“one_to_one” 、“one_to_many” 、“many_to_one”和“many_to_many”,即验证是否一对一、一对多、多对一或 多对多关系 """ """ SQL语句复习: 内联:SELECT a.*, b.* from table1 as a inner join table2 as b on a.ID=b.ID 左联:SELECT a.*, b.* from table1 as a left join table2 as b on a.ID=b.ID 右联:SELECT a.*, b.* from table1 as a right join table2 as b on a.ID=b.ID 全联:SELECT a.*, b.* from table1 as a full join table2 as b on a.ID=b.ID """
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文