pyspark.pandas.DataFrame.join
的用法。用法:
DataFrame.join(right: pyspark.pandas.frame.DataFrame, on: Union[Any, Tuple[Any, …], List[Union[Any, Tuple[Any, …]]], None] = None, how: str = 'left', lsuffix: str = '', rsuffix: str = '') → pyspark.pandas.frame.DataFrame
加入另一個 DataFrame 的列。
在索引或鍵列上使用
right
DataFrame 連接列。通過傳遞列表,按索引一次有效地連接多個DataFrame對象。- right: DataFrame, Series:
- on: str, list of str, or array-like, optional:
調用者中要加入
right
中的索引的列或索引級別名稱,否則加入 index-on-index。如果給定多個值,則right
DataFrame 必須具有 MultiIndex。如果調用 DataFrame 中尚未包含數組,則可以傳遞數組作為連接鍵。類似於 Excel VLOOKUP 運算。- how: {‘left’, ‘right’, ‘outer’, ‘inner’}, default ‘left’:
如何處理這兩個對象的操作。
左:使用
left
框架的索引(或指定的列)。右:使用
right
的索引。外部:將
left
框架的索引(或指定了on的列)與右索引形成聯合,並對其進行排序。按字典順序。內部:形成
left
框架的索引(或指定了on的列)與right
的索引的交集,保持left
的順序。
- lsuffix:str,默認“”
從左框架的重疊列中使用的後綴。
- rsuffix:str,默認“”
使用
right
框架的重疊列的後綴。
- DataFrame
包含來自
left
和right
的列的 DataFrame 。
參數:
返回:
注意:
傳遞 DataFrame 對象列表時,不支持 on、lsuffix 和 rsuffix 參數。
例子:
>>> psdf1 = ps.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'], ... 'A': ['A0', 'A1', 'A2', 'A3']}, ... columns=['key', 'A']) >>> psdf2 = ps.DataFrame({'key': ['K0', 'K1', 'K2'], ... 'B': ['B0', 'B1', 'B2']}, ... columns=['key', 'B']) >>> psdf1 key A 0 K0 A0 1 K1 A1 2 K2 A2 3 K3 A3 >>> psdf2 key B 0 K0 B0 1 K1 B1 2 K2 B2
使用索引加入DataFrames。
>>> join_psdf = psdf1.join(psdf2, lsuffix='_left', rsuffix='_right') >>> join_psdf.sort_values(by=join_psdf.columns) key_left A key_right B 0 K0 A0 K0 B0 1 K1 A1 K1 B1 2 K2 A2 K2 B2 3 K3 A3 None None
如果我們想使用鍵列進行連接,我們需要將 key 設置為 df 和 right 中的索引。連接的 DataFrame 將以 key 作為索引。
>>> join_psdf = psdf1.set_index('key').join(psdf2.set_index('key')) >>> join_psdf.sort_values(by=join_psdf.columns) A B key K0 A0 B0 K1 A1 B1 K2 A2 B2 K3 A3 None
使用鍵列連接的另一個選項是使用 on 參數。 DataFrame.join 總是使用右索引,但我們可以使用 df 中的任何列。與 pandas 不同,此方法不會在結果中保留原始 DataFrame 的索引。
>>> join_psdf = psdf1.join(psdf2.set_index('key'), on='key') >>> join_psdf.index Int64Index([0, 1, 2, 3], dtype='int64')
相關用法
- Python pyspark DataFrame.join用法及代碼示例
- Python pyspark DataFrame.to_latex用法及代碼示例
- Python pyspark DataFrame.align用法及代碼示例
- Python pyspark DataFrame.plot.bar用法及代碼示例
- Python pyspark DataFrame.to_delta用法及代碼示例
- Python pyspark DataFrame.quantile用法及代碼示例
- Python pyspark DataFrame.cumsum用法及代碼示例
- Python pyspark DataFrame.iloc用法及代碼示例
- Python pyspark DataFrame.dropDuplicates用法及代碼示例
- Python pyspark DataFrame.printSchema用法及代碼示例
- Python pyspark DataFrame.to_table用法及代碼示例
- Python pyspark DataFrame.rmod用法及代碼示例
- Python pyspark DataFrame.div用法及代碼示例
- Python pyspark DataFrame.drop_duplicates用法及代碼示例
- Python pyspark DataFrame.to_pandas用法及代碼示例
- Python pyspark DataFrame.sum用法及代碼示例
- Python pyspark DataFrame.transform用法及代碼示例
- Python pyspark DataFrame.get用法及代碼示例
- Python pyspark DataFrame.rsub用法及代碼示例
- Python pyspark DataFrame.pandas_on_spark.apply_batch用法及代碼示例
- Python pyspark DataFrame.groupBy用法及代碼示例
- Python pyspark DataFrame.head用法及代碼示例
- Python pyspark DataFrame.copy用法及代碼示例
- Python pyspark DataFrame.values用法及代碼示例
- Python pyspark DataFrame.reindex_like用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.pandas.DataFrame.join。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。