Как преобразовать Pyspark DataFrame в список словарей, сгруппированных по столбцуPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как преобразовать Pyspark DataFrame в список словарей, сгруппированных по столбцу

Сообщение Anonymous »

У меня есть pyspark DataFrame, который выглядит как: < /p>



< /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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»