2017-05-30 169 views
0

我有下面的示例DF:查找分鐘,在大熊貓數據幀GROUPBY

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 

我想「國際長途」使用GROUPBY和發現x和y的分並將其存儲在一個新的DF沿「國際長途」。 在上面的df中,我期望id = 1的xmin爲2,idd = 1的ymin爲3; idd = 2,xmin應該是7,ymin應該是8,依此類推。

期待DF:

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

代碼嘗試:

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

但它找到x和整列的y的分鐘,並每 「IDD」 不作爲。

回答

1

您可以使用groupby,然後每個組都取最小值。

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