2017-05-30 3 views
0

でGROUPBYと分を見つける:私は次のサンプルDF持つパンダデータフレーム

idd x  y 
0 1  2  3 
1 1  3  4 
2 1  5  6 
3 2  7  10 
4 2  9  8 
5 3  11 12 
6 3  13 14 
7 3  15 16 
8 3  17 18 

を私は「IDD」でGROUPBY使用して、xの分とyを見つけて、一緒に新しいDFでそれを保存したいです"idd" 上記のdfでは、idd = 1の場合はxminが2、idd = 1の場合はyminが3であり、 idd = 2、xminは7、yminは8などでなければなりません。

期待DF:

for group in df.groupby("idd"): 
    box = [df['x'].max(), df['y'].max()] 

をそれが列全体のxとyのではなく "IDD" に従って分を発見:

idd xmin ymin 
0 1  2  3 
1 2  7  8 
2 3  11  12 

コードを試みました。

答えて

1

groupbyを使用して、各グループに対してminを取ることができます。

df.groupby('idd').min().reset_index().rename(columns={'x':'xmin','y':'ymin'}) 

Out[105]: 
    idd xmin ymin 
0 1  2  3 
1 2  7  8 
2 3 11 12 
3

は、ここで名前を変更することなく、わずかに異なるアプローチだ

df = df.groupby('idd').min().add_suffix('min').reset_index() 

    idd xmin ymin 
0 1 2  3 
1 2 7  8 
2 3 11  12 
関連する問題