我有一个数据框,例如:
make model year range
0 Audi A3 [1991, 1992, 1993]
1 Audi A3 [1997, 1998]
Run Code Online (Sandbox Code Playgroud)
我需要:
make model year range
0 Audi A3 [1991, 1992, 1993, 1997, 1998]
Run Code Online (Sandbox Code Playgroud)
我试过了
df = df['year range].groupby([df.make, df.model]).apply(list).reset_index()
Run Code Online (Sandbox Code Playgroud)
但是,我最终将年份范围作为列表列表而不是单个列表。
看起来很简单,但我无法弄清楚!
连接列表是通过加法完成的,因此您可以简单地应用于sum相关列:
In [24]: df
Out[24]:
make model year
0 Audi A3 [1991, 1992, 1993]
1 Audi A3 [1997, 1998]
In [25]: df.groupby([df.make, df.model]).year.apply(sum)
Out[25]:
make model
Audi A3 [1991, 1992, 1993, 1997, 1998]
Name: year, dtype: object
Run Code Online (Sandbox Code Playgroud)