gpt4 book ai didi

Python:根据其他两列(包括负值)有条件地创建新列

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

目前我有下面的数据框。前两列是我所拥有的......我想创建第三列('Value_2_Replaced)。

enter image description here

本质上,如果 Value_1 是正数,那么我想将 Value_1 与 Value_2 进行比较,并将值较小的值放置在第三列中。

棘手的部分是当 Value_2 为负数时。如果 Value_2 为负数但大于 Value_1,我希望 Value_2_Replaced 等于 Value_1 但保留其负值。

下面是我尝试过的代码,但它没有考虑负 Value_2 的情况。任何帮助是极大的赞赏!

df["Value_2_Replaced"] = df[["Value_1", "Value_2"]].min(axis=1)

最佳答案

您可以将 Value_2 的符号与列 Value_1Value_2 的绝对最小值相乘:

df["Value_2_Replaced"] = pd.np.sign(df.Value_2) * df[["Value_1", "Value_2"]].abs().min(1)

df
#Account Value_1 Value_2 Value_2_Replaced
#0 A 100 200 100
#1 B 200 400 200
#2 C 300 -400 -300
#3 D 700 -800 -700

关于Python:根据其他两列(包括负值)有条件地创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43967950/

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