加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 使用List中的值将字典转换为Pandas DataFrame

发布时间:2020-12-20 12:04:13 所属栏目:Python 来源:网络整理
导读:我有一个字典,城市名称作为键,对应每个城市有一个日期列表.例如: {'A':['2017-01-02','2017-01-03'],'B':['2017-02-02','2017-02-03','2017-02-04','2017-02-05'],'C':['2016-02-02']} 我想将其转换为包含2列的以下数据帧. City_Name DateA 2017-01-02A 201
我有一个字典,城市名称作为键,对应每个城市有一个日期列表.例如:

{
'A':['2017-01-02','2017-01-03'],'B':['2017-02-02','2017-02-03','2017-02-04','2017-02-05'],'C':['2016-02-02']
}

我想将其转换为包含2列的以下数据帧.

City_Name  Date
A          2017-01-02
A          2017-01-03
B          2017-02-02
B          2017-02-03
B          2017-02-04
B          2017-02-05
C          2016-02-02

解决方法

或者我们可以使用融化

pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in d.items() ])).melt().dropna()
Out[51]: 
  variable       value
0        A  2017-01-02
1        A  2017-01-03
4        B  2017-02-02
5        B  2017-02-03
6        B  2017-02-04
7        B  2017-02-05
8        C  2016-02-02

一种受piR启发的方式

pd.Series(d).apply(pd.Series).melt().dropna()
Out[142]: 
    variable       value
0          0  2017-01-02
1          0  2017-02-02
2          0  2016-02-02
3          1  2017-01-03
4          1  2017-02-03
7          2  2017-02-04
10         3  2017-02-05

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读