Q:

Result of math.log in Python pandas DataFrame is interger

I have a DataFrame, all values are integer
        Millage  UsedMonth  PowerPS
1        261500        269      101
3        320000        211      125
8        230000        253      101
9        227990        255      125
13       256000        240      125
14       153000        242      150
17       142500        215      101
19       220000        268      125
21       202704        260      101
22       350000        246      101
25       331000        230      125
26       250000        226      125

And I would like to calculate log(Millage)
SO I used code
x_trans=copy.deepcopy(x)
x_trans=x_trans.reset_index(drop=True)
x_trans.astype(float)

import math
for n in range(0,len(x_trans. Millage)):
    x_trans. Millage[n]=math.log(x_trans. Millage[n])
x_trans. UsedMonth[n]=math.log(x_trans. UsedMonth[n])

I got all interger values
    Millage UsedMonth   PowerPS
0   12  5   101
1   12  5   125
2   12  5   101
3   12  5   125
4   12  5   125
5   11  5   150

It's python 3, Jupyter notebook
I tried math.log(100)
And get 4.605170185988092 
I think the reason could be DataFrame data type.  
How could I get the log() result as float
Thanks 

A:

One solution would be to simply do 
x_trans['Millage'] = np.log(x_trans['Millage'])

