< /th>
b < /br /> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> < /br /th> /> e < /th>
< /tr>
< /thead>
1 < /td>
a < /td>
0 < /td>
metric4 < /td>
< /td>
metric4 < /td>
/> < /tr>
1 < /td>
a < /td>
0 < /td>
metric3 < /td>
value7 < /td>
< /tr>
< /td>
< /tr>
< /tr>
/> b < /td>
1 < /td>
metric2 < /td>
value5 < /td>
< /tr>
2 < /td>
b < /td>
< /td>
b
2 < /td>
b
2 < /td>
b
2 < /td>
b
2 < /td>
b
2 < /td>
b
2 /> metric4 < /td>
value8 < /td>
< /tr>
2 < /td>
c < /td>
0 < /td>
metric3 < /td>
/>value9
I want to groupby on column A and get following output:
< /th>
ListOfDict < /th>
< /tr>
< /thead>
1 < /td>
[{'b': ',', 'c': 0, 'd': 'etric4 {'B': 'a', 'c': 0, 'd': 'metric3', 'e': 'value7'}, {'b': 'b', 'c': 1, 'd': 'metric2', 'e': 'value5'}] < /td>
< /tr>
2 2 />[{'B':'b', 'C':0, 'D':'metric4', 'E':'value8'}, {'B':'c', 'C':0, 'D':'metric3', 'E':'value9'}]
Ближайший я получил с кодом < /p>
Код: Выделить всё
value_cols = [col for col in df.columns if col != "A"]
df_test = df.groupBy("A").agg(F.collect_list(F.struct(*value_cols)).alias("ListOfDict"))
Подробнее здесь: https://stackoverflow.com/questions/796 ... y-a-column