我有一个看起来像这样的列表列表:
[[('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
任何帮助将不胜感激。
答案 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