用一行替换条件将Pandas Dataframe中的值替换

时间:2018-08-09 07:38:00

标签: python pandas dataframe

如何在一行中执行此操作?

df.loc[(df['A'] < 0), 'A'] = 0
df.loc[(df['B'] < 0), 'B'] = 0

也许它存在一个Pandas函数,或者我可以在该函数中添加参数。

1 个答案:

答案 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