gpt4 book ai didi

python - 根据条件和值列表创建 pyspark 数据框

转载 作者:行者123 更新时间:2023-12-01 07:58:08 24 4
gpt4 key购买 nike

我的变量中有一个值 - ID1 和一个包含十个值的列表

LIST1 = [1,2,3,4,5,6,7,8,9,10]

现在我想创建一个 pyspark 数据框,如下所示:

ID  LIST
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10

注意:List1 长度是动态的,根据其长度,我们需要相应的行。

最佳答案

这取决于 ID 是否恒定,或者您甚至拥有 ID 为 2 的 List2,然后希望将两者合并到一个 DataFrame 中。

就常量而言,有两种选择:

ID = 1
LIST1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

source = list(map(lambda x: (ID, x), LIST1))
# source: [(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (1, 10)]

df = spark.createDataFrame(source, ['ID', 'LIST'])
df.show()
# +---+----+
# | ID|LIST|
# +---+----+
# | 1| 1|
# | 1| 2|
# | 1| 3|
# | 1| 4|
# | 1| 5|
# | 1| 6|
# | 1| 7|
# | 1| 8|
# | 1| 9|
# | 1| 10|
# +---+----+

from pyspark.sql.functions import lit

ID = 1
LIST1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

source = list(map(lambda x: (x,), LIST1))
# createDataFrame needs iter of iters -> list/tuple of lists/tuples
df = spark.createDataFrame(source, ['LIST'])
df.withColumn('ID', lit(ID)).show()
+----+---+
|LIST| ID|
+----+---+
| 1| 1|
| 2| 1|
| 3| 1|
| 4| 1|
| 5| 1|
| 6| 1|
| 7| 1|
| 8| 1|
| 9| 1|
| 10| 1|
+----+---+

关于python - 根据条件和值列表创建 pyspark 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55847853/

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