我有一个包含3列的数据框。
ID col1 col2
A1 1 12
A1 3 10
A1 4 16
........
A9 9 18
A9 7 11
A9 8 15
我想创建一个新的数据框,其中包含以下列:
ID col1_min, col1_max, col2_min, col2_max.
A1 1 4 10 16
...........
A9 7 9 11 18
我可以使用groupby来完成这个任务。
col1_min = df.groupby(['ID'])['col1'].min()
col1_max = df.groupby(['ID'])['col1'].max()
col2_min = df.groupby(['ID'])['col2'].min()
col2_max = df.groupby(['ID'])['col2'].max()
df2 = pd.DataFrame({'col1_min':col1_min, 'col1_max':col1_max, 'col2_min':col2_min, 'col2_max':col2_max})
一定有更好、更优美的方式(一行代码)吧?
非常感谢。