Парсер по данным
Имеется следующая таблица
import pandas as pd
data = {'id' : ['12', '13', '14'],
'object' : ['[[[""], [""], [""]]]', '[[["13.21"], ["10.11"], ["11.01"]]]', '[[["3.1"], ["5.1"], ["7.1"]]]']}
data = pd.DataFrame(data)
data
Необходимо для каждого id вытащить из столбика object цифры или None.
Ожидаемый результат:
data = {'id' : ['12', '13', '14'],
'ans1' : [None, 13.21, 3.1],
'ans2' : [None, 10.11, 5.1],
'ans3' : [None, 11.01, 7.1]}
data = pd.DataFrame(data)
data
Спасибо!
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
res = (data
.join(data
.pop("object")
.str.extractall(r'"(\d+(?:\.\d+))?"')
[0]
.unstack()))
результат:
In [125]: res
Out[125]:
id 0 1 2
0 12 NaN NaN NaN
1 13 13.21 10.11 11.01
2 14 3.1 5.1 7.1