Я думаю, что в вашем фрейме данных есть некоторые значения NaN, сначала проверьте это с помощью
df.isnull().sum()
Затем заполните значения NaN или отбросьте их, и после этого вы сможете преобразовать свои значения.
если это не проблема, можете ли вы попробовать что-то подобное:
df['col']=df['col'].apply(lambda x : int(x))