我有一个Pypark数据帧-
df = spark.createDataFrame([
("u1", "india", 10),
("u1", "australia", 12),
("u2", "usa", 14),
("u2", "nepal", 7),
("u3", "england", 13),
("u4", "japan", 15),],
['user_id', 'place', 'price'])
df.show()
输出-
+-------+---------+-----+
|user_id| place|price|
+-------+---------+-----+
| u1| india| 10|
| u1|australia| 12|
| u2| usa| 14|
| u2| nepal| 7|
| u3| england| 13|
| u4| japan| 15|
+-------+---------+-----+
我只想为每个用户id
所需的输出应如下所示:
+-------+---------+-----+
|user_id| place|price|
+-------+---------+-----+
| u1|australia| 12|
| u2| usa| 14|
| u3| england| 13|
| u4| japan| 15|
+-------+---------+-----+
我如何才能做到这一点
您可以使用group by和加入表格来获得位置。根据我的经验,Groupby的性能优于Windows:
为每个分区中的每一行分配一个行号,并过滤行号为1的行
相关问题 更多 >
编程相关推荐