【问题标题】:Convert dictionary into dataframe (with repeated keys as rows)将字典转换为数据框(将重复键作为行)
【发布时间】:2021-10-31 08:26:19
【问题描述】:

我正在尝试将以下字典:partlistzonesdef(有 50 个键)转换为数据框: 假设我们有字典:

{1: [60, 127],
 2: [21, 43, 61, 19],
 3: [186, 154, 37],
 4: [99, 68, 80, 87, 128, 98]}

如何将其转换为这样的数据框:

    Index Area
0   1     60
1   1     127
2   2     21
3   2     43
4   2     61
5   2     19
6   3     186
7   3     154
8   3     37

等等?

【问题讨论】:

    标签: python pandas dataframe dictionary for-loop


    【解决方案1】:

    创建一个Series 并将列表中的每个元素转换为explode 然后reset_index 的行以获得预期结果:

    df = pd.Series(d, name='Area').rename_axis('Index').explode().reset_index()
    

    输出:

    >>> df
        Index Area
    0       1   60
    1       1  127
    2       2   21
    3       2   43
    4       2   61
    5       2   19
    6       3  186
    7       3  154
    8       3   37
    9       4   99
    10      4   68
    11      4   80
    12      4   87
    13      4  128
    14      4   98
    

    【讨论】:

      猜你喜欢
      • 2016-03-23
      • 2023-02-02
      • 1970-01-01
      • 2019-10-19
      • 2016-10-23
      • 2021-06-22
      • 2017-04-19
      • 2018-11-07
      相关资源
      最近更新 更多