【问题标题】:Build Python dictionary from Pandas columns using loop [duplicate]使用循环从 Pandas 列构建 Python 字典 [重复]
【发布时间】:2020-08-03 06:41:16
【问题描述】:

我有一个这样的熊猫数据框

**Breed     Animal**
Orange Tab  Cat
Tuxedo      Cat
Tabby       Cat
Husky       Dog
Golden      Dog
Labrador    Dog
Poodle      Dog
Koi         Fish
Fantail     Fish
GoldFish    Fish

并且想创建一个这样的字典

  mydict = {
  "Cat": ['Orange Tab', 'Tuxedo', 'Tabby'],
  "Dog": ['Husky','Golden','Labrador','Poodle'],
  "Fish": ['Koi','Fantail','GoldFish']
}

我从来没有用 Pandas 数据框处理过字典,所以我不知道从哪里开始。 我想我必须使用嵌套的 for 循环,但不知道如何遍历数据框中的 Animal 部分。

提前致谢。

【问题讨论】:

    标签: python pandas dictionary


    【解决方案1】:

    groupby 与列表一起使用,然后转换为字典:

    result = df.groupby('Animal')['Breed'].apply(list)
    print(result.to_dict())
    

    输出

    {'Cat': ['Orange Tab', 'Tuxedo', 'Tabby'], 'Dog': ['Husky', 'Golden', 'Labrador', 'Poodle'], 'Fish': ['Koi', 'Fantail', 'GoldFish']}
    

    【讨论】:

      【解决方案2】:

      你可以使用pandas.DataFrame.groupby:

      df.groupby('Animal**')['**Breed'].agg(list).to_dict()
      

      输出:

      {'Cat': ['Orange Tab', 'Tuxedo', 'Tabby'],
       'Dog': ['Husky', 'Golden', 'Labrador', 'Poodle'],
       'Fish': ['Koi', 'Fantail', 'GoldFish']}
      

      【讨论】:

        猜你喜欢
        • 2014-02-14
        • 1970-01-01
        • 1970-01-01
        • 2018-08-18
        • 2017-04-27
        • 2018-12-30
        • 1970-01-01
        • 2013-10-07
        • 2015-07-28
        相关资源
        最近更新 更多