标签:pandas
idxmax()方法可以使一些操作变得非常简单。例如,基于条件获取数据框架中的第一行。本文介绍如何使用idxmax方法。
什么是pandasidxmax
idxmax()方法返回轴上最大值第一次出现的索引。
例如,有4名ID为0,1,2,3的学生的测试分数,由数据框架索引表示。
图1
idxmax()将帮助查找数据框架的最大测试分数。默认情况下,axis=0:
图2
还可以设置axis=1,以找到每个学生得分最高的科目。这里很有趣:学生3的Math和CS都是满分(100),然而idxmax()仅返回Math,即第一次出现对应的值。
图3
基于条件在数据框架中获取第一行
现在我们知道了,idxmax返回数据框架最大值第一次出现的索引。那么,我们可以使用此功能根据特定条件帮助查找数据框架中的第一行。
例如,假设有SPY股票连续6天的股价,我们希望找到在股价超过400美元时的第一行/日期。
图4
让我们按步骤进行分解,首先对价格进行“筛选”,检查价格是否大于400。此操作的结果是布尔索引。
图5
我们知道,对于布尔值,True表示1,False表示0。基本上,上面看起来如下图所示,只有0和1。
图6
现在,我们可以将idxmax应用于上述内容:
图7
注:本文学习整理自pythoninoffice.com,供有兴趣的朋友学习参考。