【发布时间】:2019-06-04 23:36:52
【问题描述】:
我有一个具有这种结构的 defaultdict(list) 对象:
{id: [list[list]]}
例如,
'a1': [[0.01, 'cat']],
'a2': [[0.09, 'cat']],
'a3': [[0.5, 'dog']],
...
我想将此defaultdict(list) 转换为Pandas DataFrame 对象。
我尝试了以下方法:
df = pd.DataFrame(list(my_dict.items()), columns=['id', 'category'])
但是,我的“类别”列出现了问题。这是列表列表的一列。我正在尝试将“类别”中的 2 个值拆分为 2 个单独的列。所以我最终的 DataFrame 列将是 ['id', 'score', 'category']。
当我尝试使用以下应用功能时:
db['category'].apply(lambda x: x[0][0])
我收到“列表索引超出范围”的错误。
我的代码可能有什么问题?如何从列表列表中创建 2 个新列?
谢谢。
【问题讨论】:
标签: python pandas dataframe defaultdict