我正在处理一个数据框df
,例如以下数据框:
df.show()
输出:
+----+------+
|keys|values|
+----+------+
| aa| apple|
| bb|orange|
| bb| desk|
| bb|orange|
| bb| desk|
| aa| pen|
| bb|pencil|
| aa| chair|
+----+------+
我使用collect_set
来聚合并获取一个消除重复元素的对象集合(或者使用collect_list
来获取对象列表)。
df_new = df.groupby('keys').agg(collect_set(df.values).alias('collectedSet_values'))
结果数据框如下:
df_new.show()
输出:
+----+----------------------+
|keys|collectedSet_values |
+----+----------------------+
|bb |[orange, pencil, desk]|
|aa |[apple, pen, chair] |
+----+----------------------+
我正在努力寻找一种方法来查看一个特定的关键字(比如“椅子”)是否在对象集合的结果中(在列collectedSet_values
中)。我不想采用udf
解决方案。
请在评论中提出你的解决方案/想法。
此致敬礼。