【发布时间】:2021-12-22 09:46:53
【问题描述】:
我正在努力处理包含会议信息的 Pyspark 数据框,其中所说的每个单词都表示为一行。我喜欢将每个人说的那些话分组,直到另一个人开始说话。 (只有两个人说话)
我已经尝试了一些窗口函数,但始终无法达到所需的输出。 很乐意为您提供任何帮助!
Input:
| Call_id| Speaker | WordNum| Word |
|------- |----------| -------|------|
| 1 | Speaker_1| 1 |Hi |
| 1 | Speaker_1| 2 |I |
| 1 | Speaker_1| 3 |am |
| 1 | Speaker_1| 4 |Pete |
| 1 | Speaker_2| 5 |Hello |
| 1 | Speaker_1| 6 |Sorry |
| 1 | Speaker_1| 7 |Gotta |
| 1 | Speaker_1| 8 |Leave |
| 2 | Speaker_2| 1 |Hello |
| 2 | Speaker_2| 2 |Luis |
| 2 | Speaker_1| 3 |Hey |
Desired Output:
| Call_id| Speaker | Sentence |
|------- |----------| ----------------------------|
| 1 | Speaker_1| ["Hi", "I", "am", "Pete"] |
| 1 | Speaker_2| ["Hello"] |
| 1 | Speaker_1| ["Sorry", "Gotta", "Leave"] |
| 2 | Speaker_2| ["Hello", "Luis"] |
| 2 | Speaker_1| ["Hey"] |
【问题讨论】:
-
你有一个列来排序你的数据框吗?
-
是的,Call_id和WordNum的组合
标签: python dataframe pyspark apache-spark-sql window-functions