[英]create column in dataframe pandas, max between column and value
我尝试在数据框熊猫中创建列,在列和值之间创建最大值
const = 10
df['new_val'] = max(df['val']-const, 0)
我收到此错误:
ValueError:Series 的真值不明确。 使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
输入:
val |
12 |
5 |
预期的:
val | new_val
12 | 2
5 | 0
使用numpy.maximum
作为每列val
的max
:
const = 10
df['new_val'] = np.maximum(df['val'].sub(const), 0)
print (df)
val new_val
0 12 2
1 5 0
或者用Series.clip
减去负值的0
值:
const = 10
df['new_val'] = df['val'].sub(const).clip(lower=0)
print (df)
val new_val
0 12 2
1 5 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.