【发布时间】:2022-01-18 12:12:21
【问题描述】:
我如何从 df 转到 df1,其中 df 和 df1 如下所示?
df = koalas.DataFrame({"teams": [["SF", "NYG"] for _ in range(7)],'teams1':[np.random.randint(0,10) for _ in range(7)]})
df
output:
teams teams1
0 [SF, NYG] 0
1 [SF, NYG] 5
2 [SF, NYG] 8
3 [SF, NYG] 1
4 [SF, NYG] 2
5 [SF, NYG] 8
6 [SF, NYG] 5
df1 = koalas.DataFrame({"col1": ["SF" for _ in range(7)],\
"col2": ["NYG" for _ in range(7)],\
'teams1':[np.random.randint(0,10) for _ in range(7)]})
df1
output:
col1 col2 teams1
0 SF NYG 8
1 SF NYG 2
2 SF NYG 9
3 SF NYG 4
4 SF NYG 8
5 SF NYG 3
6 SF NYG 1
我可以看到 pandas here 的解决方案。但是这个解决方案将收集驱动程序端的所有数据,这不是我想要发生的。我想要一个考拉(pyspark 上的熊猫)解决方案
【问题讨论】:
-
this 可能会有所帮助。
-
在 pyspark 中要容易得多——你真的想要考拉解决方案吗? pyspark -
new_sdf = kdf.to_spark().withColumn('col1', sdf.teams[0]).withColumn('col2', sdf.teams[1]) -
是的,你是对的。我正在艰难地学习它,因为我现在可以从 pyspark 导入 pandas,所以我无法将我的 pandas 知识免费转移到 pyspark。 pyspark 上的 pandas 有太多的陷阱,而 pyspark API 对于所有用例来说会更容易。还在学习:)
标签: python apache-spark pyspark spark-koalas