gpt4 book ai didi

python - 将按行排序的数据帧映射到原始列标签(Pandas),但仅限那些值大于零的标签

转载 作者:太空宇宙 更新时间:2023-11-03 14:56:51 25 4
gpt4 key购买 nike

我在这里问了一个问题Mapping row-wise sorted dataframe to original column labels (Pandas)但是,我希望通过仅显示那些相应值大于 0 的列索引来扩展此问题。

我有一个数据框 -

df 
A B C D
0 8 3 6 2
1 1 -3 5 2
2 4 9 5 10
3 2 -4 -8 -2

我按降序对每一行进行排序,并且不保存值,而是保存相应的列名,但条件是排除那些相应值为负数的列名。

最终结果为:

df_col 
1 2 3 4
0 A C B D
1 C D A
2 D B C A
3 A

最佳答案

您可以使用:

df = df.apply(lambda x: pd.Series(x[x > 0].sort_values(ascending=False).index), axis=1)
print (df)
0 1 2 3
0 A C B D
1 C D A NaN
2 D B C A
3 A NaN NaN NaN

关于python - 将按行排序的数据帧映射到原始列标签(Pandas),但仅限那些值大于零的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45480286/

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