gpt4 book ai didi

python - 获取数据框中n个最大值的行和列名称

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:59 26 4
gpt4 key购买 nike

对于数据框

import pandas as pd
df=pd.DataFrame({'col1':[1,2],'col2':[4,5]},index=['row1','row2'])
print df
col1 col2
row1 1 4
row2 2 5

我想获取两个最大值的行名称和列名称以及相应的最大值,这样结果表达式返回如下所示:

[(row1,col2,4)(row2,col2,5)]

在 pandas 中最简洁的方法是什么?

最佳答案

您可以使用stack用于创建系列,然后 Series.nlargestreset_index最后通过列表理解创建元组:

print (df)
col1 col2
row1 1 4
row2 2 5

df1 = df.stack().nlargest(2).reset_index()
print (df1)
level_0 level_1 0
0 row2 col2 5
1 row1 col2 4

tuples = [tuple(x) for x in df1.values]
print (tuples)
[('row2', 'col2', 5), ('row1', 'col2', 4)]

关于python - 获取数据框中n个最大值的行和列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40040364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com