Pandas矢量化中最小值的确定

np8igboo  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(178)

我正在创建一个列,它基于另外两个列,但还有一个额外的条件:
df['C'] = min((df['B'] - df['A']) , 0)
新列是A和B的减法,但如果值为负,它必须为0。不幸的是,上面的函数不起作用。有谁能帮忙吗?

olhwl3o2

olhwl3o21#

您可以使用df.clip设置数据的下限(即,任何低于0的数据都显示为0):

df['C'] = (df['B'] - df['A']).clip(lower=0)

注意:如果你不想要任何负数,你最初的想法应该使用max而不是min。负数将〈0,它将保留负数。你将最终用0而不是负数替换所有正数(例如min(-5, 0)将输出-5)

相关问题