gpt4 book ai didi

python - 仅替换 pandas 中数据框行的第一个最大值?

转载 作者:行者123 更新时间:2023-12-02 06:52:54 25 4
gpt4 key购买 nike

我在尝试仅替换(用 0 )数据帧中最大值的第一个实例时遇到问题。例如:

NAME   1ST MONTH    2ND MONTH   3RD MONTH....
Joe 3 3 2
Erik 5 7 7

我需要替换 df 中每行最大值的第一个实例。我需要的输出是:

NAME   1ST MONTH    2ND MONTH   3RD MONTH....
Joe 0 3 2
Erik 5 0 7

但我正在使用:

df_temp1.apply(lambda x: x.replace(max(x), 0), axis = 1)

这给了我以下 df:

NAME   1ST MONTH    2ND MONTH   3RD MONTH....
Joe 0 0 2
Erik 5 0 0

最佳答案

您可以使用nlargest()replace()

df = pd.DataFrame([[3, 3, 2], [5, 7, 7]], columns=['a', 'b', 'c'])

df = df.apply(lambda x: x.replace(x.nlargest(1), 0), axis=1)

print(df)

a b c
0 0 3 2
1 5 0 7

关于python - 仅替换 pandas 中数据框行的第一个最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59821502/

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