У меня есть кадр данных 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
Как разбить столбцы типа массива в кадре данных pyspark ⇐ Python
Программы на Python
-
Anonymous
1731168330
Anonymous
У меня есть кадр данных pyspark, как показано ниже.
Мне нужно разбить столбцы Items и Value1. Это мой код на данный момент:
df_ob_exploded = df.withColumn('op_it.objects',
F.explode(F.array(*[F.array(F.col('op_it.objects')[i]['Items'][j].Name,
F.array(*[F.col('op_it.Objects')[i]['Items'[j]['Items'][k].Name for k in range(9)]).cast('string'),
F.array(*[F.from_json(F.col('op_it.objects')[i]['Items'][k].Selected, sc).getItem('Value') for k in range(9)]).cast('string'),
F.from_json(F.col('op_it.objects')[i]['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
Подробнее здесь: [url]https://stackoverflow.com/questions/79165267/how-to-explode-arraytype-columns-in-pyspark-dataframe[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия