Create a dataframe from a dictionary
本问题已经有最佳答案,请猛点这里访问。
字典的键是日期,值是具有不同长度的列表
例如,字典是
1 | dict = { '2017-09-01' : [A B] , '2017-09-02' : [C D E] } |
我想要的是一个数据帧
1 2 3 4 5 6 | date Message 2017-09-01 A 2017-09-01 B 2017-09-02 C 2017-09-02 D 2017-09-02 E |
号
您可以使用列表理解将字典变平,然后从中构造数据帧:
1 2 3 4 5 6 7 8 9 10 11 12 13 | d = { '2017-09-01' : ['A', 'B'] , '2017-09-02' : ['C', 'D', 'E'] } pd.DataFrame( [(k, val) for k, vals in d.items() for val in vals], columns=['date', 'message'] ) # date message #0 2017-09-01 A #1 2017-09-01 B #2 2017-09-02 C #3 2017-09-02 D #4 2017-09-02 E |
或使用
1 2 3 4 5 6 7 8 9 10 11 12 | (pd.DataFrame.from_dict(d, 'index').stack() .rename('message') .rename_axis(('date', '')) .reset_index(level=0) .reset_index(drop=True)) # date message #0 2017-09-01 A #1 2017-09-01 B #2 2017-09-02 C #3 2017-09-02 D #4 2017-09-02 E |
号