gpt4 book ai didi

python - 将元组列表的字典转换为数据框

转载 作者:太空狗 更新时间:2023-10-30 00:47:46 24 4
gpt4 key购买 nike

我有一个包含以下形式的元组列表的字典:

{identifier1:[(date1,value1),
(date2,value2)],
identifier2:[(date1,value1),
(date3,value3),
(date4,value4)]
}

我正在尝试将其解析为数据框,但列表的长度不同且元组具有重复值。我想要的形状是三列标识符、日期和值,其中没有 nan 值。我尝试了各种组合,例如使用 from_dict 方法但收效甚微。

最佳答案

您可以将列表理解与 DataFrame 构造函数 (python 3) 结合使用:

d = {'identifier1':[('date1','value1'),('date2','value2')],
'identifier2':[('date1','value1'),('date3','value3'),('date4','value4')]}

L = [(k, *t) for k, v in d.items() for t in v]

df = pd.DataFrame(L, columns=['identifier','date','val'])
print (df)
identifier date val
0 identifier1 date1 value1
1 identifier1 date2 value2
2 identifier2 date1 value1
3 identifier2 date3 value3
4 identifier2 date4 value4

对于 python 2 使用:

L = [(k, t[0], t[1]) for k, v in d.items() for t in v]

df = pd.DataFrame(L, columns=['identifier','date','val'])
print (df)
identifier date val
0 identifier1 date1 value1
1 identifier1 date2 value2
2 identifier2 date1 value1
3 identifier2 date3 value3
4 identifier2 date4 value4

关于python - 将元组列表的字典转换为数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45914881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com