Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Присоединяется к другому кадру данных, используя заданное выражение соединения.
Синтаксис
join(other: "DataFrame", on: Optional[Union[str, List[str], Column, List[Column]]] = None, how: Optional[str] = None)
Параметры
| Параметр | Тип | Описание |
|---|---|---|
other |
DataFrame | Справа от соединения. |
on |
str, list или Column, необязательный | строка для имени столбца соединения, список имен столбцов, выражение соединения (столбец) или список столбцов. Если on это строка или список строк, указывающих имя столбцов соединения, столбцы должны существовать на обеих сторонах, и это выполняет эквивалентное соединение. |
how |
str, необязательный | по умолчанию inner. Должен быть одним из следующих: inner, crossouterfullfullouterfull_outerleftleftouterleft_outerrightrightouterright_outersemileftsemileft_semiantileftantileft_anti |
Возвраты
DataFrame: присоединенный кадр данных.
Примеры
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|
# +-----+---+