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


Python cudf.DataFrame.merge用法及代碼示例


用法:

DataFrame.merge(right, on=None, left_on=None, right_on=None, left_index=False, right_index=False, how='inner', sort=False, lsuffix=None, rsuffix=None, indicator=False, suffixes=('_x', '_y'))

通過按列或索引執行 database-style 連接操作來合並 GPU DataFrame 對象。

參數

rightDataFrame
on標簽或清單;默認為無

要加入的列或索引級別名稱。這些必須在兩個 DataFrame 中都可以找到。

如果 on 是 None 並且不合並索引,則默認為兩個 DataFrame 中列的交集。

how{‘left’, ‘outer’, ‘inner’, ‘leftsemi’, ‘leftanti’},默認 ‘inner’

要執行的合並類型。

  • left:僅使用左幀中的鍵,類似於 SQL 左外連接。

  • 對:不支持。

  • 外部:使用來自兩個幀的鍵並集,類似於 SQL 完全外部聯接。

  • 內部:使用來自兩個幀的鍵的交集,類似於 SQL 內部連接。

  • 左半類似於inner join,但隻返回列

    來自左側數據幀並忽略右側數據幀中的所有列。

  • leftanti :僅返回左側 DataFrame 中未匹配記錄的行列。這與leftsemi join 完全相反。

left_on標簽或列表,或array-like

要在左側 DataFrame 中加入的列或索引級別名稱。也可以是左側DataFrame長度的數組或數組列表。這些數組被視為列。

right_on標簽或列表,或array-like

要在右側 DataFrame 中加入的列或索引級別名稱。也可以是正確DataFrame長度的數組或數組列表。這些數組被視為列。

left_index布爾值,默認為 False

使用左側 DataFrame 中的索引作為連接鍵。

right_index布爾值,默認為 False

使用右側 DataFrame 中的索引作為連接鍵。

sort布爾值,默認為 False

從左側開始,按合並的列對生成的 DataFrame 進行排序。

suffixes: Tuple[str, str], defaults to (‘_x’, ‘_y’)

應用於左側和右側重疊列名的後綴

返回

mergedDataFrame

注意

cuDF 中的 DataFrames 合並導致不確定的行排序。

例子

>>> import cudf
>>> df_a = cudf.DataFrame()
>>> df_a['key'] = [0, 1, 2, 3, 4]
>>> df_a['vals_a'] = [float(i + 10) for i in range(5)]
>>> df_b = cudf.DataFrame()
>>> df_b['key'] = [1, 2, 4]
>>> df_b['vals_b'] = [float(i+10) for i in range(3)]
>>> df_merged = df_a.merge(df_b, on=['key'], how='left')
>>> df_merged.sort_values('key')  
   key  vals_a  vals_b
3    0    10.0
0    1    11.0    10.0
1    2    12.0    11.0
4    3    13.0
2    4    14.0    12.0

僅在某些情況下才允許合並分類變量

分類變量類型轉換邏輯取決於how 和要合並的分類變量的細節。當隻有一側被排序時合並分類變量是不明確的並且不允許的。當兩個分類都排序時允許合並,但隻有當類別完全相等且具有相同的順序時,才會產生公共 dtype。當兩邊都無序時,結果分類取決於連接的類型: - 對於內部連接,結果將是類別的交集 - 對於左連接或右連接,結果將分別是左或右 dtype。這延伸到半連接和反連接。 - 對於外連接,結果將是雙方類別的並集。

相關用法


注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cudf.DataFrame.merge。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。