Python 熊猫。按索引分组并为列应用最大值

Python 熊猫。按索引分组并为列应用最大值,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我试图将dataframe按3个元素分组,并希望从组中获取列值最高的行,但max方法适用于所有列。我怎样才能做到这一点 我所做的: In [69]: fr Out[69]: ping delta 0 1516190798773 161 1 1516191845372 143 2 1516192904988 144 3 1516193952748 295 4 1516195008033 233 5 15161960

我试图将dataframe按3个元素分组,并希望从组中获取列值最高的行,但
max
方法适用于所有列。我怎样才能做到这一点

我所做的:

In [69]: fr
Out[69]:
             ping  delta
0   1516190798773    161
1   1516191845372    143
2   1516192904988    144

3   1516193952748    295
4   1516195008033    233
5   1516196049407    252

In [70]: fr.groupby(fr.index / 3).max()
Out[70]:
            ping  delta
0  1516192904988    161
1  1516196049407    295
我想要得到的结果是:

            ping  delta
0  1516190798773    161
1  1516193952748    295

如果希望
列中的
第一个
值和
增量中的
最大值
值:

df = fr.groupby(fr.index // 3).agg({'delta':'max','ping':'first'})
print (df)
            ping  delta
0  1516190798773    161
1  1516193952748    295
如果需要
delta
和所有相关行中的
max
值:

df = fr.loc[fr.groupby(fr.index // 3)['delta'].idxmax()]
print (df)
            ping  delta
0  1516190798773    161
3  1516193952748    295
更好的差异样本:

print (fr)
            ping  delta
0  1516190798773    161
1  1516191845372    143
2  1516192904988    144
3  1516193952748    233 <-swapped values 233
4  1516195008033    295 <-swapped values 295
5  1516196049407    252

df = fr.groupby(fr.index // 3).agg({'delta':'max','ping':'first'})
print (df)
            ping  delta
0  1516190798773    161
1  1516193952748    295

df = fr.loc[fr.groupby(fr.index // 3)['delta'].idxmax()]
print (df)
            ping  delta
0  1516190798773    161
4  1516195008033    295
打印(fr)
平三角洲
0  1516190798773    161
1  1516191845372    143
2  1516192904988    144
3  1516193952748    233