36

I have dataframe with only 1 column. I want to replace all '0' to np.nan but I can't achieve that.

dataframe is called area. I tried:

area.replace(0,np.nan)
area.replace(to_replace=0,np.nan)
area.replace(to_replace=0,value=np.nan)

area.replace('0',np.nan)

What should I do?

Ilia Chigogidze
  • 2,055
  • 2
  • 10
  • 10

2 Answers2

68

You can set inplace to True (default is False):

area.replace(0, np.nan, inplace=True)

See examples in docs.

Asclepius
  • 57,944
  • 17
  • 167
  • 143
zipa
  • 27,316
  • 6
  • 40
  • 58
11

You need to do:

area = area.replace(0, np.nan)
drec4s
  • 7,946
  • 8
  • 33
  • 54