ste*_*woo 5 python tuples list dataframe pandas
我有一个形式元组列表的字典:
{identifier1:[(date1,value1),
(date2,value2)],
identifier2:[(date1,value1),
(date3,value3),
(date4,value4)]
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将其解析为数据帧,但列表的长度不同,元组具有重复值.我想要的形状是三列标识符,日期和值,其中没有nan值.我尝试过各种组合,比如使用from_dict方法很少成功.
您可以将list comprehension与DataFrameconstructor(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
Run Code Online (Sandbox Code Playgroud)
对于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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
484 次 |
| 最近记录: |