Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to replace integer values in pandas in python?

I have a pandas dataframe as follows.

   a  b  c  d  e
a  0  1  0  1  1
b  1  0  1  6  3
c  0  1  0  1  2
d  5  1  1  0  8
e  1  3  2  8  0

I want to replace values that is below 6 <=5 with 0. So my output should be as follows.

   a  b  c  d  e
a  0  0  0  0  0
b  0  0  0  6  0
c  0  0  0  0  0
d  0  0  0  0  8
e  0  0  0  8  0

I was trying to do this using the following code.

df['a'].replace([1, 2, 3, 4, 5], 0)
df['b'].replace([1, 2, 3, 4, 5], 0)
df['c'].replace([1, 2, 3, 4, 5], 0)
df['d'].replace([1, 2, 3, 4, 5], 0)
df['e'].replace([1, 2, 3, 4, 5], 0)

However, I am sure that there is a more easy way of doing this task in pandas.

I am happy to provide more details if needed.

like image 451
EmJ Avatar asked Sep 09 '26 10:09

EmJ


1 Answers

Using mask

df=df.mask(df<=5,0)
df
Out[380]: 
   a  b  c  d  e
a  0  0  0  0  0
b  0  0  0  6  0
c  0  0  0  0  0
d  0  0  0  0  8
e  0  0  0  8  0
like image 86
BENY Avatar answered Sep 10 '26 23:09

BENY



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!