在Pandas数据框中获取具有最大值的行

时间:2019-02-25 16:14:01

标签: python pandas function dataframe

执行一个在Pandas Dataframe中获取最大值的行的功能,如下所示:

def max_row(df, col):

    max_index = df[col].idxmax()

    return df.loc[[max_index]]

它的工作原理如下:max_row(test_df, 'Col_A')

我想做的是显示两行数据框。当前正在使用nlargest()函数,但似乎在loc方面有些错误:

def max_rows(df, col, n):

    max_indexes = df[col].nlargest(n)
    max_indexes = list(max_indexes.index)

    return df.loc[[max_indexes]]

如何编写该代码以完成任务?

谢谢!

1 个答案:

答案 0 :(得分:1)

将最后一行更改为

def max_rows(df, col, n):

    max_indexes = df[col].nlargest(n)
    max_indexes = list(max_indexes.index)

    return df.loc[max_indexes]