【问题标题】:Python Dictionary to Pandas DataframePython 字典到 Pandas 数据框
【发布时间】:2016-04-07 23:00:01
【问题描述】:

如何将 python 字典转换为 pandas 数据框。这就是我目前的做法,一点也不优雅。

import pandas as pd
MyDict={'key1':'value1','key2' : 'value2'}
MyDF=pd.DataFrame.from_dict(MyDict,orient='index',dtype=None)
MyDF.index.name = 'Keys'
MyDF.reset_index(inplace=True)

我只希望 MyDict 中的 'key:value' 对作为 pandas 数据框的行。

【问题讨论】:

    标签: python pandas


    【解决方案1】:
    pd.DataFrame({'Keys': MyDict.keys(), 'Values': MyDict.values()})
    

    返回

       Keys  Values
    0  key2  value2
    1  key1  value1
    

    【讨论】:

    • 这会保留订单吗?从某种意义上说,字典中的“键:值”对是否会转换为数据框中的“单行”? (如果是这样,这正是我需要的)
    • @dineshdileep - Python 字典保证 .keys().values() 的对应顺序,只要两者之间没有修改字典。但是,字典中没有顺序。所以你的 DataFrame 将是一致的,只是行的顺序是“随机的”。
    • 行的顺序对我来说并不重要,重要的是行的内容。感谢您的回答。
    【解决方案2】:

    如果你想使用 loc() 键访问 DataFrame 中的每一行,那么

    MyDF = pd.DataFrame([v for v in MyDict.values()], columns = ['value'],
                        index = [k for k in MyDict.keys()])
    

    MyDF 然后包含

           value
    key2  value2
    key1  value1
    

    MyDF.loc['key2'].value
    

    返回

    value2
    

    【讨论】:

      猜你喜欢
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-02
      • 2023-03-13
      • 2017-10-15
      相关资源
      最近更新 更多