转换为 pandas 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

任何帮助将不胜感激。


拉莫斯之舞
浏览 86回答 1
1回答

翻翻过去那场雪

您可以将每个列表转换为字典:import pandas as pddata = [[('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     type0   evaluation      pos        1     good1  intensifier      NaN      NaN  shifter2   evaluation      pos        2     good
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java