Python-使用groupBy.agg()时获取keyError(key)


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]
}

使用.iloc:

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

最新更新