给出如下数据框:
df = pd.DataFrame({
'col1': [1, 4, 7],
'col2': [5, 2, 9],
'col3': [3, 8, 6],
})
如何获得最大n个值的位置?
例如
max_val_positions(df, n=2)
可能提供输出:
[(col2, 2), (col3, 1)] # [(column name, row index), ...]
答案 0 :(得分:2)
让我们尝试unstack
+ nlargest
df.unstack().nlargest(2)
col2 2 9
col3 1 8
dtype: int64
#l = df.unstack().nlargest(2).index.tolist()
#[('col2', 2), ('col3', 1)]