Преобразование списков в панды DataFrame - PullRequest
1 голос
/ 18 октября 2019

У меня есть список списков, который выглядит следующим образом:

[[('category', 'evaluation'), ('polarity', 'pos'), ('strength', '1'), ('type', 'good')],
[('category', 'intensifier'), ('type', 'shifter')],
[('category', 'evaluation'), ('polarity', 'pos'), ('strength', '2'), ('type', 'good')],

Обратите внимание, что не все списки содержат все атрибуты.

Я хотел бы, если возможно, преобразовать это в DataFrame, где каждый список представляет новую строку, а имена столбцов будут заданы первым элементом (например, 'category' , «полярность» , «прочность» , «тип» ). В конце DataFrame должен выглядеть следующим образом:

           category     polarity     strength     type
df[0]:    evaluation      pos           1         good
df[1]:    intensifier     NaN          NaN       shifter
df[2]:    evaluation      pos           2         good

Любая помощь будет принята с благодарностью.

1 Ответ

3 голосов
/ 18 октября 2019

Вы можете преобразовать каждый список в словарь:

import pandas as pd

data = [[('category', 'evaluation'), ('polarity', 'pos'), ('strength', '1'), ('type', 'good')],
[('category', 'intensifier'), ('type', 'shifter')],
[('category', 'evaluation'), ('polarity', 'pos'), ('strength', '2'), ('type', 'good')]]

df = pd.DataFrame(data=[dict(e) for e in data])

print(df)

Вывод

      category polarity strength     type
0   evaluation      pos        1     good
1  intensifier      NaN      NaN  shifter
2   evaluation      pos        2     good
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...