【问题标题】:selecting rows with min and max values of a defined column in pandas在熊猫中选择具有已定义列的最小值和最大值的行
【发布时间】:2020-09-09 10:08:33
【问题描述】:

我有以下数据框:

A,B,C,D   
10,1,2,3
 1,4,7,3
10,5,2,3
40,7,9,3
9,9,9,9

我想从前一个数据框开始创建另一个只有两行的数据框。这两行的选择基于“A”列中的最小值和最大值。我想得到:

A,B,C,D   
 1,4,7,3
40,7,9,3

你认为我应该使用一种 index.min e index.max 然后只选择两行然后附加到一个新的数据框中吗?您还有其他相同的建议吗?

感谢您的任何帮助, 最好的

【问题讨论】:

    标签: python pandas max min


    【解决方案1】:

    IIUC 您可以简单地使用df.A.min()df.A.max() 上的OR 条件子集数据帧:

    df = df[(df.A==df.A.min())|(df.A==df.A.max())]
    

    df
        A   B   C   D
    1   1   4   7   3
    3   40  7   9   3
    

    【讨论】:

      【解决方案2】:

      是的,你可以使用idxmin/idxmax,然后使用loc

      df.loc[df['A'].agg(['idxmin','idxmax']) ]
      

      输出:

          A  B  C  D   
      1   1  4  7  3
      3  40  7  9  3
      

      请注意,这只给出了最小的一行和最大的一行。如果你想要所有的值,你应该使用@CHRD 的解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-28
        • 2021-12-05
        • 2017-12-17
        • 1970-01-01
        • 1970-01-01
        • 2014-12-01
        • 2018-10-31
        • 1970-01-01
        相关资源
        最近更新 更多