Как разбить столбцы типа массива в кадре данных pysparkPython

Программы на Python
Ответить
Anonymous
 Как разбить столбцы типа массива в кадре данных pyspark

Сообщение Anonymous »

У меня есть кадр данных pyspark, как показано ниже.
Мне нужно разбить столбцы Items и Value1. Это мой код на данный момент:
df_ob_exploded = df.withColumn('op_it.objects',
F.explode(F.array(*[F.array(F.col('op_it.objects')['Items'][j].Name,
F.array(*[F.col('op_it.Objects')['Items'[j]['Items'][k].Name for k in range(9)]).cast('string'),
F.array(*[F.from_json(F.col('op_it.objects')['Items'][k].Selected, sc).getItem('Value') for k in range(9)]).cast('string'),
F.from_json(F.col('op_it.objects')['Items'][j].Selected,sc).getItem('Value'))for i in range(9) for j in range(9)]))).dropDuplicates()

df_obj_json = df_ob_exploded.select('ID', F.col('op_it.object'[0].alias('Name'), F.col('op_it.objects')[1].alias('Items'),
F.col('op_it.object'[2].alias('Value1'), F.col('op_it.objects')[1].alias('Value'))\
.na.drop(how='all', subset=['Name','Items','Value1','Value'])


Я не могу разобрать столбцы Items и Value1.
ID Name Items Value1 Value
1 Contact [platform,chat, , ,] [,,,,,] null
1 action [,,,,,,] [,,,,,] windows
1 cycle [,,,,,,] [,,,,,] article


Подробнее здесь: https://stackoverflow.com/questions/791 ... -dataframe
Ответить

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

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

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

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

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