I have a dataframe
. I want to replace values of all columns of some rows to a default value. Is there a way to do this via pandas apply
function
Use isin to create a boolean mask and use loc
to set the rows that meet the condition to the desired new value:
In [37]:
temp.loc[temp['c'].isin(mylist),['a','b']] = 0
temp
Out[37]:
a b c
0 0 0 p
1 2 3 q
2 3 4 r
3 4 5 s
4 0 0 t
5 6 7 u
result of the inner isin
:
In [38]:
temp['c'].isin(mylist)
Out[38]:
0 True
1 False
2 False
3 False
4 True
5 False
Name: c, dtype: bool