使用groupBy.agg()时Python获取密钥错误(key)

2024-09-28 23:02:26 发布

您现在位置:Python中文网/ 问答频道 /正文

import pandas as pd

dict1 = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}

dict2 = {
  "brand": "Ford",
  "model": "F150",
  "year": 1999
}

dict3 = {
  "brand": "Chevy",
  "model": "Malibu",
  "year": 1972
}

d = {
        "col0": ["GM", "GM", "Dodge"],
        "col1": [dict1, dict3, dict2],
        "col2": [dict3, dict2, dict2],
        "col3": [dict1, dict2, dict3]
    }

df = pd.DataFrame(d)

grouped = df.groupby(['col0'], as_index=False)
first = lambda a : a[0]
df = grouped.agg({'col1':first,'col2':first, 'col3':first})

当我尝试使用agg函数时,我得到了raise KeyError(key) from err

我想做的是根据我分组的列组合这些,我想在分组后取第一个dict

我希望输出是你在下面看到的,我不在乎保留哪个“GM”,我随意选择了第一个,这很好

d = {
        "col0": ["GM", "Dodge"],
        "col1": [dict1, dict2],
        "col2": [dict3, dict2],
        "col3": [dict1, dict3]
    }

Tags: dfmodelasyearcol2col3col1first