列表转换为熊猫DataFrame的列表

时间:2019-10-18 12:27:42

标签: python pandas list dataframe

我有一个看起来像这样的列表列表:

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

请注意,并非所有列表都包含所有属性。

如果可能的话,我想将其转换为DataFrame,其中每个列表代表一个新行,而列的名称将由第一个元素(例如'category' 'polarity''strength''type')。最后,DataFrame应该如下所示:

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

您可以将每个列表转换成字典:

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