gpt4 book ai didi

python - 如何按顺序获取 pandas 数据框中最高、下一个最高数字等的索引和列?

转载 作者:行者123 更新时间:2023-12-02 18:41:33 28 4
gpt4 key购买 nike

我有一个通用形式的pandas DataFrame(我们称之为df)

    A       C       D       E       F
0 0.4 0.1 0.2 0 0.7
1 0 0.2 0 0.5 0.6
2 0.1 0.5 0 0 0
3 0 0 0 0.8 0
4 0.8 0.1 0 0 0
5 0 0.9 0 0 0

尽管每个轴会更长(21 列,不同的索引长度)。

我需要找到整个DataFrame中最大的数字,并提取索引和列名称,然后提取下一个最大的数字(如果不在同一索引中),然后再次查找索引和列名称,依此类推。

我当然可以将每个索引提取为一个系列(pd.Index.to_series)或列表,并逐项执行。但我认为有一种更有效的方法来使用数据帧(因为我无法预测最终将使用的最大索引大小),我似乎无法找到/想到。

我已经找到了很多使用df.max()df.idmax()的答案,以获得最大值,如果我只需要的话。

最佳答案

使用以下内容:

df.stack().reset_index().sort_values(by=0, ascending=False)
Out[168]:
level_0 level_1 0
26 5 C 0.9
18 3 E 0.8
20 4 A 0.8
4 0 F 0.7
9 1 F 0.6
8 1 E 0.5
11 2 C 0.5
0 0 A 0.4
6 1 C 0.2
2 0 D 0.2
10 2 A 0.1
1 0 C 0.1
21 4 C 0.1
27 5 D 0.0
28 5 E 0.0
25 5 A 0.0
24 4 F 0.0
23 4 E 0.0
22 4 D 0.0
15 3 A 0.0
19 3 F 0.0
17 3 D 0.0
16 3 C 0.0
14 2 F 0.0
13 2 E 0.0
12 2 D 0.0
7 1 D 0.0
5 1 A 0.0
3 0 E 0.0
29 5 F 0.0

关于python - 如何按顺序获取 pandas 数据框中最高、下一个最高数字等的索引和列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67936010/

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