python - 使用字典创建数据框

标签 python pandas dataframe dictionary multi-index

我想创建一个带有字典的数据框。我创建了我的字典,我想在 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/

相关文章:

python - 循环出现问题并避免崩溃

python - AWS ECS - 使用 Boto3 更新任务定义

python - 使用新数据框更新 Pandas 数据框

python - 减去 Pandas 数据框

python-2.7 - 从 Pandas 的另一列中填充一列的缺失值

python - yaml 和 jinja2 阅读器

python - 使用 setuptools 为 Python 项目自动生成文档

python - 替换最后一个有效项的值 - Pandas

python - 将 Pandas-Dataframe 从横截面数据重新排列为面板数据

python - 在 df.plot(kind ='hist') 中指定 bean 的数量