У меня есть данные, приведенные ниже. Я хочу извлечь первый список из списка кортежей и транспонировать список, извлеченный в столбцы.
data = {'Document_No':[0.0,1.0], 'list_of_topics': [
([(0, 0.14572892),
(1, 0.014889247),
(11, 0.44593897)],
[(4, [0]), (5, [4]), (6, [11]), (7, [11]), (8, [11, 4]), (9, [11, 4])],
[(4, [(0, 0.9999998)]),
(7, [(11, 0.9999998)]),
(9, [(4, 0.05520946), (11, 0.93936676)])]),
([(0, 0.2453892),
(11, 0.78657897)],
[(4, [0]), (5, [4]), (6, [11]), (7, [11]), (8, [11, 4]), (9, [11, 4])],
[(4, [(0, 0.9999998)]),
(7, [(11, 0.9999998)]),
(9, [(4, 0.05520946), (11, 0.93936676)])])
]}
df = pd.DataFrame(data)
желаемый результат:
Document_No 0 1 11
0 0.0 0.14572892 0.014889247 0.44593897
1 1.0 0.2453892 0 0.78657897
Мое решение:
pd.DataFrame([[j[0] for j in i] for i in df['list_of_topics']], index=df['Document_No']).transpose()
Out[245]:
Document_No 0.0 1.0
0 (0, 0.14572892) (0, 0.14572892)
1 (4, [0]) (4, [0])
2 (4, [(0, 0.9999998)]) (4, [(0, 0.9999998)])
Не получается желаемый результат. Может кто-нибудь помочь мне найти, где я делаю неправильно.