我想创建一个带有字典的数据框。我创建了我的字典,我想在 Dataframe 中转换它,其中一列表示月份,第二列表示值。
您有办法解决我的问题吗?
我的字典:{'一月': [1, 5], '四月': [2, 6], '三月': [3, 7], '六月': [4, 8]}
import pandas as pd
from collections import defaultdict
# d = {('20170330', 'A'): {'earn': '16.02'},('20170331', 'A'): {'earn': '25.68'},('20170330', 'AA'): {'earn': '321321'}}
months = ['Jan','Apr','Mar','June','Jan','Apr','Mar','June']
days = [1,2,3,4,5,6,7,8]
zipped = zip(months, days)
d = {}
for items in zipped:
res = d.setdefault(items[0], [])
res.append(items[1])
print(d)
谢谢你!
最佳答案
您可以使用堆栈
:
pd.DataFrame(d).stack() \
.rename_axis([None, 'Month']) \
.to_frame('Day') \
.reset_index(level=1) \
.reset_index(drop=True)
stack
生成一个 Series,因此最后 4 行只是尝试生成一个 DataFrame 并使其成形。
结果:
Month Day
0 Jan 1
1 Apr 2
2 Mar 3
3 June 4
4 Jan 5
5 Apr 6
6 Mar 7
7 June 8
关于python - 使用字典创建数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59884011/