Drop all nan value in Series
lat is a series in your data, if you have even only one nan value in your series ,lat, then you will loose all of your series. 
Another problem might be in the lat column values might not be suitable for converting to pd.to_numeric such as "1,2" (not "1.2"), "a", "nan" etc. Then you will loose your series again. 
Therefore:

Check:
len(lat.dropna()) == len(lat) 
if it is True then check:

len(df2[df2.str.contains(",")]) &gt; 0


I hope it works!