gpt4 book ai didi

dataframe - 具有特定条件的 Pyspark crossJoin

转载 作者:行者123 更新时间:2023-12-04 09:33:01 24 4
gpt4 key购买 nike

每个 5 行的两个数据帧的 crossJoin 给出了 25 rows (5*5) 的数据帧.
我想要的是做一个 crossJoin 但它“不完整”。
例如:

df1:                       df2:
+-----+ +-----+
|index| |value|
+-----+ +-----+
| 0| | A|
| 1| | B|
| 2| | C|
| 3| | D|
| 4| | E|
+-----+ +-----+
结果必须是行数 < 25 的数据帧,而对于 index 中的每一行随机选择 value 中的行数用它来完成 crossJoin。
它会是这样的:
+-----+-----+
|index|value|
+-----+-----+
| 0| D|
| 0| A|
| 1| A|
| 1| D|
| 1| B|
| 1| C|
| 2| A|
| 2| E|
| 3| D|
| 4| A|
| 4| B|
| 4| E|
+-----+-----+
谢谢

最佳答案

你可以试试 sample(withReplacement, fraction, seed=None) 交叉连接后获得较少的行数。
Example:

spark.sql("set spark.sql.crossJoin.enabled=true")
df.join(df1).sample(False,0.6).show()

关于dataframe - 具有特定条件的 Pyspark crossJoin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62741892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com