如何在一行中执行此操作?
df.loc[(df['A'] < 0), 'A'] = 0
df.loc[(df['B'] < 0), 'B'] = 0
也许它存在一个Pandas函数,或者我可以在该函数中添加参数。
答案 0 :(得分:4)
对列的子集使用DataFrame.clip_lower
:
df = pd.DataFrame({'A':[-1,20,24], 'B':[-1,2,-3], 'C':[-1,-2,-3]})
print (df)
A B C
0 -1 -1 -1
1 20 2 -2
2 24 -3 -3
df[['A','B']] = df[['A','B']].clip_lower(0)
print (df)
A B C
0 0 0 -1
1 20 2 -2
2 24 0 -3