What is the best method to convert a dataframe column (object) containing nan and floats 900.0 to nan and 900?
            Asked
            
        
        
            Active
            
        
            Viewed 224 times
        
    0
            
            
        - 
                    1Are you asking how to convert the column to integer or do you just want to print it as an integer. Read [this post](https://stackoverflow.com/questions/11548005/numpy-or-pandas-keeping-array-type-as-integer-while-having-a-nan-value). – pault Jul 31 '18 at 16:03
 
1 Answers
0
            
            
        IIUC: Input:
    df = pd.DataFrame(['1.0','5.0',np.nan,'9.0', '100.0', np.nan, '500.0'], columns=['a'])
       a
0    1.0
1    5.0
2    NaN
3    9.0
4  100.0
5    NaN
6  500.0
Let's try this:
pd.to_numeric(df.a).fillna(0).astype(int).astype(str).mask(df.a.isnull())
Output:
0      1
1      5
2    NaN
3      9
4    100
5    NaN
6    500
Name: a, dtype: object
        Scott Boston
        
- 147,308
 - 15
 - 139
 - 187