我在pandas Dataframe中有一个大数据集。为简单起见,数据框可能类似于以下内容:
a b c
k 0.1 1.2 -2.0
j 5 5.7 -.5
h 2.1 2.2 1.2
我想设置一个条件,如果该值小于0,我想将其设置为0。
例如
if df.iloc[:,1:]<0:
df.iloc[:,1:]=0
然后我收到以下错误消息:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
您对我该如何解决有任何想法?
或者如果我想设置一个值小于0.5的条件,我想将其称为0。有什么表达方式?
答案 0 :(得分:1)
我将使用mask
df=df.mask(df<0,0)
df
Out[229]:
a b c
k 0.1 1.2 0.0
j 5.0 5.7 0.0
h 2.1 2.2 1.2