我有以下数据框。
Year Sector Number Veh Types Month Count
2015 AA 173 F Apr 277
2015 AA 173 F Aug 277
2015 AA 173 F Dec 277
2015 AA 173 F Feb 277
2015 AA 173 F Jul 277
2015 AA 173 F Jun 277
2015 AA 173 F Mar 277
2015 AA 173 G Feb 82
2015 AA 173 G Jan 82
2015 AA 173 G Mar 82
2016 AA 173 A Apr 277
2016 AA 173 A Aug 277
2016 AA 173 A Dec 277
2016 AA 173 A Feb 277
2016 AA 173 A Jul 277
2016 AA 173 A Jun 277
2016 AA 173 A Mar 277
2016 AA 173 A May 277
2016 AA 173 F Nov 277
2016 AA 173 F Oct 277
2016 AA 173 F Sep 277
2016 AA 173 G Feb 82
2016 AA 173 G Jan 82
2016 AA 173 G Mar 82
我需要每年获得列数的最大值,并获得相应的“车型”字样。列和并在" Max_Veh_Type'中分配每组中的一栏。
我的预期输出是:
Year Sector Number Veh Types Month Count Max_Veh_type
2015 AA 173 F Apr 277 F
2015 AA 173 F Aug 277 F
2015 AA 173 F Dec 277 F
2015 AA 173 F Feb 277 F
2015 AA 173 F Jul 277 F
2015 AA 173 F Jun 277 F
2015 AA 173 F Mar 277 F
2015 AA 173 G Feb 82 F
2015 AA 173 G Jan 82 F
2015 AA 173 G Mar 82 F
2016 AA 173 A Apr 277 A
2016 AA 173 A Aug 277 A
2016 AA 173 A Dec 277 A
2016 AA 173 A Feb 277 A
2016 AA 173 A Jul 277 A
2016 AA 173 A Jun 277 A
2016 AA 173 A Mar 277 A
2016 AA 173 A May 277 A
2016 AA 173 F Nov 277 A
2016 AA 173 F Oct 277 A
2016 AA 173 F Sep 277 A
2016 AA 173 G Feb 82 A
2016 AA 173 G Jan 82 A
2016 AA 173 G Mar 82 A
我知道获取组中的最大值。任何帮助实现上述目标都会有很大的帮助。
答案 0 :(得分:3)
df.groupby('Year').Count.idxmax()
为我提供了一系列最大行出现的方便map
对类似系列vt
的dict进行处理,以便在索引中获得一系列年份,并在值中获得Veh类型。yr
系列以获取我们想要的列assign
创建新列vt, yr = df['Veh Types'], df['Year']
df.assign(Max_Veh_Type=yr.map(df.groupby('Year').Count.idxmax().map(vt)))
Year Sector Number Veh Types Month Count Max_Veh_Type
0 2015 AA 173 F Apr 277 F
1 2015 AA 173 F Aug 277 F
2 2015 AA 173 F Dec 277 F
3 2015 AA 173 F Feb 277 F
4 2015 AA 173 F Jul 277 F
5 2015 AA 173 F Jun 277 F
6 2015 AA 173 F Mar 277 F
7 2015 AA 173 G Feb 82 F
8 2015 AA 173 G Jan 82 F
9 2015 AA 173 G Mar 82 F
10 2016 AA 173 A Apr 277 A
11 2016 AA 173 A Aug 277 A
12 2016 AA 173 A Dec 277 A
13 2016 AA 173 A Feb 277 A
14 2016 AA 173 A Jul 277 A
15 2016 AA 173 A Jun 277 A
16 2016 AA 173 A Mar 277 A
17 2016 AA 173 A May 277 A
18 2016 AA 173 F Nov 277 A
19 2016 AA 173 F Oct 277 A
20 2016 AA 173 F Sep 277 A
21 2016 AA 173 G Feb 82 A
22 2016 AA 173 G Jan 82 A
23 2016 AA 173 G Mar 82 A