當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。