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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。