我是 python-pandas 新手。我需要一些帮助来获取整行作为输出,而不是一列。例子: df1.max() 给了我这个输出。
每行费用 263566.10
但我需要输出为:
claim_number charge_per_line
3 263566.10
谢谢!!
最佳答案
对于一列DataFrame
需要sort_values
并按 iloc
选择最后一行:
df = pd.DataFrame({'claim_number':[1,1,2,2,3,3],
'Charge_Per_Line':[10,5,4,20,10,3]})
print (df)
Charge_Per_Line claim_number
0 10 1
1 5 1
2 4 2
3 20 2
4 10 3
5 3 3
df1 = df.groupby('claim_number').sum()
print (df1)
Charge_Per_Line
claim_number
1 15
2 24
3 13
res = df1.sort_values('Charge_Per_Line').iloc[[-1]]
#alternative solution
#res = df1.loc[[df1['Charge_Per_Line'].idxmax()], ['Charge_Per_Line']]
print (res)
Charge_Per_Line
claim_number
2 24
如果想要来自索引
的列:
df1 = df.groupby('claim_number', as_index=False).sum()
print (df1)
claim_number Charge_Per_Line
0 1 15
1 2 24
2 3 13
res = df1.sort_values('Charge_Per_Line').iloc[[-1]]
#alternative
#res = df1.loc[[df1['Charge_Per_Line'].idxmax()]]
print (res)
claim_number Charge_Per_Line
1 2 24
关于python - 使用 pandas python 获取整行作为输出,其中某些列具有最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49272557/