python – 如何在pandas的数据框中检索k个最高值?
发布时间:2020-12-20 12:38:42 所属栏目:Python 来源:网络整理
导读:如何在pandas的数据框中检索k个最高值? 例如,给定DataFrame: b d eUtah 1.624345 -0.611756 -0.528172Ohio -1.072969 0.865408 -2.301539Texas 1.744812 -0.761207 0.319039Oregon -0.249370 1.462108 -2.060141 生成: import numpy as npimport pandas a
如何在pandas的数据框中检索k个最高值?
例如,给定DataFrame: b d e Utah 1.624345 -0.611756 -0.528172 Ohio -1.072969 0.865408 -2.301539 Texas 1.744812 -0.761207 0.319039 Oregon -0.249370 1.462108 -2.060141 生成: import numpy as np import pandas as pd np.random.seed(1) frame = pd.DataFrame(np.random.randn(4,3),columns=list('bde'),index=['Utah','Ohio','Texas','Oregon']) print(frame) 数据框中的3个最高值是: > 1.744812 解决方法
您可以使用
pandas.DataFrame.stack
pandas.Series.nlargest ,例如:
In [183]: frame.stack().nlargest(3) Out[183]: Texas b 1.744812 Utah b 1.624345 Oregon d 1.462108 dtype: float64 要么: In [184]: frame.stack().nlargest(3).reset_index(drop=True) Out[184]: 0 1.744812 1 1.624345 2 1.462108 dtype: float64 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |