我正在创建一个列,它基于另外两个列,但还有一个额外的条件:df['C'] = min((df['B'] - df['A']) , 0)新列是A和B的减法,但如果值为负,它必须为0。不幸的是,上面的函数不起作用。有谁能帮忙吗?
df['C'] = min((df['B'] - df['A']) , 0)
olhwl3o21#
您可以使用df.clip设置数据的下限(即,任何低于0的数据都显示为0):
df.clip
df['C'] = (df['B'] - df['A']).clip(lower=0)
注意:如果你不想要任何负数,你最初的想法应该使用max而不是min。负数将〈0,它将保留负数。你将最终用0而不是负数替换所有正数(例如min(-5, 0)将输出-5)
min(-5, 0)
1条答案
按热度按时间olhwl3o21#
您可以使用
df.clip
设置数据的下限(即,任何低于0的数据都显示为0):注意:如果你不想要任何负数,你最初的想法应该使用max而不是min。负数将〈0,它将保留负数。你将最终用0而不是负数替换所有正数(例如
min(-5, 0)
将输出-5)