【问题标题】:How to convert dictionary to dataframe with keeping order of values?如何在保持值顺序的情况下将字典转换为数据框?
【发布时间】:2021-12-26 18:02:38
【问题描述】:

我有一个字典,其中的键是产品的顺序,例如从 0 到 5。我想将字典转换为 df 并跟踪产品的 id。我想有一列是'product_id',并有键的值:0,1,2...而其他列是字典值中的那些:ID,Category,Electronics...

 {0: {'ID': 'ABCDS', 'CATEGORY': 'Electronics', 'PRICE': '1234', 'Currency': 'Dollar'}}

我尝试像这样转换字典:

df = pd.DataFrame(my_dict.values())

但是这样我就丢失了跟踪产品的密钥。如何在 df 中也有一个列名,其值是字典中的顺序?

【问题讨论】:

    标签: python pandas dataframe dictionary


    【解决方案1】:

    使用DataFrame.from_dict:

    import pandas as pd
    
    data = {0: {'ID': 'ABCDS', 'CATEGORY': 'Electronics', 'PRICE': '1234', 'Currency': 'Dollar'}}
    df = pd.DataFrame.from_dict(data, orient="index").rename_axis("product_id").reset_index()
    print(df)
    

    输出

       product_id     ID     CATEGORY PRICE Currency
    0           0  ABCDS  Electronics  1234   Dollar
    

    作为替代使用DataFrame.from_records

    df = pd.DataFrame.from_records([{"product_id" : key, **d } for key, d in data.items()])
    

    输出

       product_id     ID     CATEGORY PRICE Currency
    0           0  ABCDS  Electronics  1234   Dollar
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-21
      • 2023-01-19
      • 2020-07-01
      • 2015-08-26
      • 1970-01-01
      • 2019-05-26
      相关资源
      最近更新 更多