【问题标题】:How to make a df with the minimum value of each column and the corresponding value of other column?如何用每列的最小值和其他列的对应值制作一个df?
【发布时间】:2020-08-09 07:38:23
【问题描述】:
I have a df like this:

        '62'                   '63'               '64'          code
0   20.03743333333333   26.869833333333325  24.724533333333333  82022
1   10.4041             31.236499999999996  29.091200000000004  82026
2   26.88743333333333   33.71983333333333   31.574533333333335  82099
3   19.820766666666664  17.65316666666666   25.507866666666668  82107
4   28.037433333333333  34.86983333333333   32.72453333333334   82193
5   20.754099999999998  27.586499999999994  25.441200000000002  82244
6   31.070766666666664  37.903166666666664  35.75786666666667   82281
7   14.770766666666665  21.603166666666663  19.45786666666667   82332
8   35.53743333333333   42.36983333333333   40.22453333333334   82397
9   41.637433333333334  48.46983333333333   46.324533333333335  82400

我想获取数据框中每列的最小值及其对应的代码,如下所示:

62  10.4041           82026
63  17.65316666666666 82107
64  19.45786666666667 82332

我一直在尝试:

df62 = df.groupby(['code'])['62'].min() df63 = df.groupby(['code'])['63'].min() df64 = df.groupby(['code'])['64'].min()

但不工作。

你能告诉我一个可能的解决方案吗?

【问题讨论】:

    标签: pandas greatest-n-per-group min


    【解决方案1】:

    你可以试试:

    df.set_index('code').agg(['idxmin','min']).T
    

           idxmin        min
    '62'  82026.0  10.404100
    '63'  82107.0  17.653167
    '64'  82332.0  19.457867
    

    【讨论】:

      猜你喜欢
      • 2020-12-29
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 2021-02-05
      • 1970-01-01
      • 2021-09-09
      • 1970-01-01
      • 2015-05-30
      相关资源
      最近更新 更多