Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 查找组返回整行的最大值_Python_Pandas - Fatal编程技术网

Python 查找组返回整行的最大值

Python 查找组返回整行的最大值,python,pandas,Python,Pandas,如果这是重复的,请原谅。看起来应该是这样的,但我已经搜索了所有建议和更多 我有这张桌子 Look_Back_Months Total Spread Return sector 10 11 0.038961 Apartment 20 21 0.078029 Apartment 30 31 0.079272 Apa

如果这是重复的,请原谅。看起来应该是这样的,但我已经搜索了所有建议和更多

我有这张桌子

     Look_Back_Months  Total Spread Return     sector
10                11             0.038961  Apartment
20                21             0.078029  Apartment
30                31             0.079272  Apartment
40                 5             0.013499     Office
50                15             0.018679     Office
60                25            -0.003378     Office
我想回去

    Look_Back_Months  Total Spread Return     sector
30                31             0.079272  Apartment
50                15             0.018679     Office
我尝试了
groupby
agg
,我一直在返回最大回望月数和总差价回报。或者只是其中一个


谢谢

您可以将
groupby.max
transform
一起使用

g = df.groupby('sector')['TotalSpreadReturn'].transform('max')
res = df[df['TotalSpreadReturn'] == g]

print(res)

    Look_Back_Months  TotalSpreadReturn     sector
30                31           0.079272  Apartment
50                15           0.018679     Office

如果有必要,这包括重复的最大值并保持索引顺序。

您可以将
groupby.max
transform
一起使用

g = df.groupby('sector')['TotalSpreadReturn'].transform('max')
res = df[df['TotalSpreadReturn'] == g]

print(res)

    Look_Back_Months  TotalSpreadReturn     sector
30                31           0.079272  Apartment
50                15           0.018679     Office
如果重要的话,这包括重复的最大值并保持索引顺序。

使用

df.sort_values('TotalSpreadReturn').drop_duplicates('sector',keep='last')
Out[270]: 
    Look_Back_Months  TotalSpreadReturn     sector
50                15           0.018679     Office
30                31           0.079272  Apartment
利用

df.sort_values('TotalSpreadReturn').drop_duplicates('sector',keep='last')
Out[270]: 
    Look_Back_Months  TotalSpreadReturn     sector
50                15           0.018679     Office
30                31           0.079272  Apartment