Home > Software engineering >  Removing the .0 from a pandas column
Removing the .0 from a pandas column

Time:10-04

After a simple merge of two dataframes the following X column becomes an object and an ".0" is being added at the end for no apparent reason. I tried replacing the nan values with an integer and then converting the whole column to an integer hoping for the .0 to be gone. The code runs but it doesn't really change the dtype of that column. Also, I tried removing the .0 with the rstrip command but then all it really does is it removes everything and even the values that are 249123.0 become NaN which doesn't make sense. I know that is a very basic issue but I am not sure what else could I try at this point.

Input:


     Age   ID      
     22    23105.0    
     34    214541.0     
     51    0      
     8     62341.0     

Desired output:

     Age   ID      
     22    23105      
     34    214541   
     51    0      
     8     62341

Any ideas would be much appreciated.

CodePudding user response:

One of the ways to get rid of the trailing .0 in an object column is to use pandas.DataFrame.replace :

df['ID'] = df['ID'].replace(r'\.0$', '', regex=True).astype(np.int64)

# Output :

print(df)

  Age      ID
0  22   23105
1  34  214541
2  51       0
3   8   62341
  • Related