připojit

Spojí s jiným datovým rámcem pomocí daného výrazu join.

Syntaxe

join(other: "DataFrame", on: Optional[Union[str, List[str], Column, List[Column]]] = None, how: Optional[str] = None)

Parametry

Parameter Typ Description
other Datový rámec Pravá strana spojení.
on str, list nebo Sloupec, volitelné řetězec pro název sloupce spojení, seznam názvů sloupců, výraz spojení (Sloupec) nebo seznam sloupců. Pokud on je řetězec nebo seznam řetězců označující název spojovacích sloupců, musí sloupce existovat na obou stranách a provede se spojení equi-join.
how str, volitelné výchozí hodnota inner. Musí být jedna z: inner, cross, , , outerfullfullouterfull_outerleft, leftouter, left_outerrightrightouterright_outer, semi, leftsemi, left_semi, , antia . leftantileft_anti

Návraty

DataFrame: Připojený datový rámec.

Příklady

import pyspark.sql.functions as sf
from pyspark.sql import Row
df = spark.createDataFrame([Row(name="Alice", age=2), Row(name="Bob", age=5)])
df2 = spark.createDataFrame([Row(name="Tom", height=80), Row(name="Bob", height=85)])

df.join(df2, "name").show()
# +----+---+------+
# |name|age|height|
# +----+---+------+
# | Bob|  5|    85|
# +----+---+------+

joined = df.join(df2, df.name == df2.name, "outer").sort(sf.desc(df.name))
joined.show()
# +-----+----+----+------+
# | name| age|name|height|
# +-----+----+----+------+
# |  Bob|   5| Bob|    85|
# |Alice|   2|NULL|  NULL|
# | NULL|NULL| Tom|    80|
# +-----+----+----+------+

df.alias("a").join(
    df.alias("b"), sf.col("a.name") == sf.col("b.name"), "outer"
).sort(sf.desc("a.name")).select("a.name", "b.age").show()
# +-----+---+
# | name|age|
# +-----+---+
# |  Bob|  5|
# |Alice|  2|
# +-----+---+