df
我創建了一個使用以下代碼呼叫的 pandas 資料框:
d = {'col1' : [5,3,2,1,34,54,6,7],
'col2' : [23,65,7,8,9,12,11,10],
'col3' : [65,67,7,11,7,7,9,10],
'col4' : [32,32,12,12,1,2,1,3],
'ops' : [1,1,1,1,2,2,2,2]}
df = pd.DataFrame(data=d)
print(df)
資料框如下所示:
col1 col2 col3 col4 ops
0 5 23 65 32 1
1 3 65 67 32 1
2 2 7 7 12 1
3 1 8 11 12 1
4 34 9 7 1 2
5 54 12 7 2 2
6 6 11 9 1 2
7 7 10 10 3 2
df
我需要按所謂的列對資料框進行分組/聚合ops
以獲得:
- 列的第一個值
col1
- 列的最小值
col2
- 列的最大值
col3
- 列的最后一個值
col4
因此,生成的資料框應如下所示:
有沒有一種pythonic的方式可以一次性完成?
uj5u.com熱心網友回復:
我們試試看
out = df.groupby('ops', as_index=False).agg({'col1': 'first',
'col2': 'min',
'col3': 'max',
'col4': 'last'})
print(out)
ops col1 col2 col3 col4
0 1 5 7 67 12
1 2 34 9 10 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/488316.html