我想从pd.DataFrame.idxmax
获取结果并使用它来更改索引前的值,并使用最大值.
如果我有df:
Mule Creek Saddle Mtn. Calvert Creek
Date
2011-05-01 23.400000 35.599998 8.6
2011-05-02 23.400000 35.599998 8.0
2011-05-03 23.400000 35.700001 7.6
2011-05-04 23.400000 50.000000 7.1
2011-05-05 23.100000 35.799999 6.4
2011-05-06 23.000000 35.799999 5.7
2011-05-07 40.000000 35.900002 4.7
2011-05-08 23.100000 36.500000 12.0
2011-05-09 23.299999 37.500000 4.4
2011-05-10 23.200001 37.500000 3.6
我发现每列的最大值出现在哪里:
max = df.idxmax()
我想在确定的最大值max all np.nan之前创建值
期望的结果:
Mule Creek Saddle Mtn. Calvert Creek
Date
2011-05-01 NaN NaN NaN
2011-05-02 NaN NaN NaN
2011-05-03 NaN NaN NaN
2011-05-04 NaN 50.000000 NaN
2011-05-05 NaN 35.799999 NaN
2011-05-06 NaN 35.799999 NaN
2011-05-07 40.000000 35.900002 NaN
2011-05-08 23.100000 36.500000 12.0
2011-05-09 23.299999 37.500000 4.4
2011-05-10 23.200001 37.500000 3.6
解决方法:
可以检查累积最大值与最大值的相同位置:
df.where(df.cummax() == df.max())
Mule Creek Saddle Mtn. Calvert Creek
Date
2011-05-01 NaN NaN NaN
2011-05-02 NaN NaN NaN
2011-05-03 NaN NaN NaN
2011-05-04 NaN 50.000000 NaN
2011-05-05 NaN 35.799999 NaN
2011-05-06 NaN 35.799999 NaN
2011-05-07 40.000000 35.900002 NaN
2011-05-08 23.100000 36.500000 12.0
2011-05-09 23.299999 37.500000 4.4
2011-05-10 23.200001 37.500000 3.6
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。