У меня есть датафрейм в искре, имеющий один столбец с данными типа json.
column3:
z:{
k:{
q1:null,
q2:1,
q3:23,
q4:null,
q5:{v1:null, v2:wers, v3:null}
a1:['sdsad','wqeqw'],
d1:'123_23'
},
l:{
w1:wwew
w2:null
w4:123
}
}
Как я могу обработать содержимое внутри json и выполнить некоторые операции, такие как: разнесение столбца d1: '123_23' на '_' и добавление еще одного столбца во фрейм данных.
Как я могу прочитать, сколько ключей имеют не нулевые значения внутри json. И если есть какой-либо массив, то как считать элементы этого массива.
Итак, у меня есть кадр данных как:
Ниже приведен пример кадра данных:
col1 : gf23431
col2 : 6728103
col3 : "z:{
k:{
q1:null,
q2:1,
q3:23,
q4:null,
q5:{v1:null, v2:wers, v3:null}
a1:['sdsad','wqeqw'],
d1:'123_23'
},
l:{
w1:wwew
w2:null
w4:123
}
}"
col4 : 3658
Желаемые выходные столбцы:
Всего ключей под "k:" 7
Всего ненулевых значений под ключом "k:" 5 // количество ключей, имеющих ненулевые значения
Всего ключей под ключом "q5:" 3
Всего ненулевых значений под ключом "q5:" 1
Общие значения под "a1:" 2
разделить значения под "d1:" и добавить еще один столбец 246 // умножить 1-е значение на 2 и добавить в качестве еще одного столбца в фрейме данных
поэтому столбцы вывода будут:
col5 : 7
col6 : 5
col7 : 3
col8 : 1
col9 : 2
col10: 246