Python数据合并

Pandas中dataframe数据合并


1.相关函数

  1. DataFrame.merge(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)
参数含义
right要合并的对象
how合并的类型{‘left’,‘right’,‘outer’,‘inner’,‘cross’}。left:仅使用左框架中的键,类似于SQL左外部联接;保留密钥顺序。right:仅使用右框架中的键,类似于SQL右外部联接;保留密钥顺序。outer:使用来自两个frame的键的并集,类似于SQL完全外部联接;按字典顺序对键排序。inner:使用两个frame的关键点的交点,类似于SQL内部联接;保留左键的顺序。 cross:从两个frame创建笛卡尔积,保留左关键frame的顺序。
on用于连接的列名,必须存在于左右两个DataFrame对象中,如果未指定,且其他连接键也未指定,以left和right列名的交集作为连接键
left_on左侧DataFrame中用作连接键的列
right_on右侧DataFrame中用作连接键的列
left_index将左侧的行索引用作其连接键
right_index将右侧的行索引用作其连接键
sort根据连接键对合并后的数据进行排序,默认为True,有时在处理大数据集时,禁用该选项可获得较好的性能。
suffixes字符串值元组,用于追加到重叠列名的末尾,默认为(’_x’,’_y’)
copy设置为False,可以在某些特殊情况下避免将数据复制到结果数据结构中。默认总是复制
选项说明
inner使用两个表都有的键
left使用左表中所有的键
right使用右表中所有的键
outer使用两个表中所有的键

  1. DataFrame.join(other, on=None, how='left', lsuffix='', rsuffix='', sort=False)
参数含义
otherDataFrame或Series或DF列表
on
how{‘left’,‘right’,‘outer’,‘inner’},默认为’left’
lsuffix从左边frame中添加的后缀
rsuffix从右边frame中添加的后缀
sort按字典顺序排列结果DataFrame。如果为False,则连接键的顺序取决于连接类型(how关键字)

  1. numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind")
参数含义
(a1, a2, …)arrays必须具有相同的形状,但与轴对应的尺寸标注除外(默认情况下为第一个尺寸标注)
axisarrays将沿其连接的轴,默认为0
out如果提供,则为放置结果的位置
dtype目标arrays将具有此数据类型。不能与out一起提供。
casting{‘no’, ‘equiv’, ‘safe’, ‘same_kind’, ‘unsafe’},控制可能发生的数据转换类型。默认为“同类”

  1. DataFrame.combine_first(other)
    通过将一个DataFrame中的空值填充到另一个DataFrame中的非空值,组合两个DataFrame对象。结果DataFrame的行和列索引将是这两个索引的并集。
参数含义
other提供了用于填充空值的DataFrame

  1. Series.combine_first(other)
    通过将一个Series中的空值与另一个Series中的非空值填充,组合两个Series对象。结果索引将是两个索引的并集。
参数含义
other用于填充空值的值

  1. pandas.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True)
参数含义
objs参与连接的pandas对象的列表或字典,唯一必需的参数
axis指明连接的轴向,默认为0
join‘inner’,‘outer’,其中之一,默认为’outer’。指明其他轴向上的索引是按交集(inner)还是并集(outer)进行合并
join_axes指明用于其他n-1条轴的索引,不执行并集/交集运算
keys与连接对象有关的值,用于形成连接轴向上的层次化索引。可以是任意值的列表或数组、元组数组、数组列表。
levels指定用作层次化索引各级别上的索引,如果设置了keys的话
names用于创建分层级别的名称,如果设置了keys和(或)levels的话
verify_integrity检查结果对象新轴上的重复情况,如果发现则引发异常。默认False允许重复。
ignore_index不保留连接轴上的索引,产生一组新索引。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值