当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.merge_ordered用法及代码示例


用法:

pandas.merge_ordered(left, right, on=None, left_on=None, right_on=None, left_by=None, right_by=None, fill_method=None, suffixes=('_x', '_y'), how='outer')

使用可选的填充/插值对有序数据执行合并。

专为时间序列数据等有序数据而设计。可选择执行 group-wise 合并(参见示例)。

参数

left DataFrame
right DataFrame
on标签或列表

要加入的字段名称。必须在两个 DataFrame 中都可以找到。

left_on标签或列表,或array-like

在左侧 DataFrame 中加入的字段名称。可以是 DataFrame 长度的向量或向量列表,以使用特定向量作为连接键而不是列。

right_on标签或列表,或array-like

根据 left_on 文档,在正确的 DataFrame 或向量/向量列表中加入的字段名称。

left_by列名或列名列表

按组列对左 DataFrame 进行分组,并与右 DataFrame 逐个合并。

right_by列名或列名列表

按组列对右 DataFrame 进行分组,并与左 DataFrame 逐个合并。

fill_method{‘ffill’, 无},默认无

数据的插值方法。

suffixeslist-like,默认为 (“_x”, “_y”)

长度为 2 的序列,其中每个元素可选地是一个字符串,指示要分别添加到 leftright 中的重叠列名称的后缀。传递 None 的值而不是字符串,以指示来自 leftright 的列名应保留为 as-is,不带后缀。至少其中一个值不得为无。

how{‘left’, ‘right’, ‘outer’, ‘inner’},默认 ‘outer’
  • left:仅使用左帧中的键(SQL:左外连接)

  • 右:仅使用右框架中的键(SQL:右外连接)

  • 外部:使用来自两个框架的键的联合(SQL:完全外部连接)

  • 内部:使用来自两个帧的键的交集(SQL:内部连接)。

返回

DataFrame

如果是 DataFrame 的子类,则合并后的 DataFrame 输出类型将与 ‘left’ 相同。

例子

>>> df1 = pd.DataFrame(
...     {
...         "key":["a", "c", "e", "a", "c", "e"],
...         "lvalue":[1, 2, 3, 1, 2, 3],
...         "group":["a", "a", "a", "b", "b", "b"]
...     }
... )
>>> df1
      key  lvalue group
0   a       1     a
1   c       2     a
2   e       3     a
3   a       1     b
4   c       2     b
5   e       3     b
>>> df2 = pd.DataFrame({"key":["b", "c", "d"], "rvalue":[1, 2, 3]})
>>> df2
      key  rvalue
0   b       1
1   c       2
2   d       3
>>> merge_ordered(df1, df2, fill_method="ffill", left_by="group")
  key  lvalue group  rvalue
0   a       1     a     NaN
1   b       1     a     1.0
2   c       2     a     2.0
3   d       2     a     3.0
4   e       3     a     3.0
5   a       1     b     NaN
6   b       1     b     1.0
7   c       2     b     2.0
8   d       2     b     3.0
9   e       3     b     3.0

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.merge_ordered。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。