猿问

从每组的另一列中获取与 idxmax 对应的列值

我有一个由 3 列和 n 行组成的数据框。


我分组前的数据框看起来像


Index    Max_Mass (kg/m)    Max_Diameter (m)

1             10                   1

2             20                   2

3             30                   3


200           5                    4

201           60                   3

202           20                   2


300           90                   1

301           3                    1

302           10                   1


400           100                  1

401           10                   1

402           10                   1

我通过每 100 行切割它来对数据框进行分组,以便我可以使用以下方法找到每 100 行特定列的最大值:


groups = output_df.groupby(pd.cut(output_df.index, range(0,len(output_df), 100)))

我正在使用以下内容来查找“最大质量(公斤/米)”列的最大值:


groups.max()['Max Mass (kg/m)']

我现在想制作另一个 df ,其中将包含找到的最大值和该值的索引。如何检索索引?我试过使用下面的,但根据我的理解,它只适用于单个值,而上面的行返回一个包含所有最大值的列。


(groups.max()['Max Mass (kg/m)']).getidx()

我的预期输出(对于上面的 DataFrame)将是


我要创建的新数据框应如下所示;


Index    Max_Mass (kg/m)    Max_Diameter (m)

3             30                   3

201           60                   3

300           90                   1

400           100                  1


沧海一幻觉
浏览 182回答 2
2回答
随时随地看视频慕课网APP

相关分类

Python
我要回答