I would like to convert string (%) to float.but my method didnt work well. the result slightly differ from correct number. for example,
a=pd.Series(data=["0.1%","0.2%"])
0 0.1%
1 0.2%
dtype: object
first, I strip "%"
a.str.rstrip("%")
0 0.1
1 0.2
dtype: object
I tried to convert to numeric, but the result is strange.
I guess this phenomena come from binary digit system...
pd.to_numeric(a.str.rstrip("%"))
0 0.10000000000000000555
1 0.20000000000000001110
dtype: float64
and of course I couldnt convert % to numeric.
pd.to_numeric(a.str.rstrip("%"))/100
0 0.00100000000000000002
1 0.00200000000000000004
dtype: float64
I also tried .astype(float) method. but The result was same..
why this phenomena happen ? and how can I avoid this phenomena