【问题标题】:Create a dataframe from dictionary - python从字典创建数据框 - python
【发布时间】:2015-07-10 10:18:50
【问题描述】:

说,我有一本形式的字典:

dct = {'A': [1,2,3], 'B': [4,5,6,7]}

如何将其转换为 pandas 数据框,结果将是以下形式:

Column1  Column2
A        1
A        2
A        3
B        4
B        5
B        6
B        7

【问题讨论】:

  • 这两列是不同的吗?
  • 是的@AnandSKumar ,显然我不知道如何创建一个表,抱歉

标签: python dictionary pandas dataframe


【解决方案1】:

您可以使用DataFrame.from_dict导入数据:

In [1059]: dct = {'A': [1,2,3], 'B': [4,5,6]}

In [1060]: df = pnd.DataFrame.from_dict(dct)

In [1061]: df
Out[1061]: 
   A  B
0  1  4
1  2  5
2  3  6

然后简单地使用 pandas 非常方便的melt 函数来取消透视数据框:

In [1062]: pnd.melt(df)
Out[1062]: 
 variable  value
0        A      1
1        A      2
2        A      3
3        B      4
4        B      5
5        B      6

【讨论】:

    【解决方案2】:
    from itertools import chain
    pd.DataFrame(list(chain.from_iterable(
        ((k, v) for v in vals) for (k, vals) in dct.items())),
        columns=('Column1', 'Column2'))
    

    【讨论】:

    • 谢谢,代码有效,更通用,我忘了字典中的每个值都有不同的长度。
    • 我怀疑可能是这种情况,我很高兴它对你有用。
    猜你喜欢
    • 1970-01-01
    • 2023-01-12
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2020-06-04
    • 2016-01-14
    相关资源
    最近更新 更多