Зачастую тип данных требуется изменить для оптимизации расчетов или же, если данные пришли из текстового источника. Самым простым будет использование astype():
df['column'] = df['column'].astype(int)
# изменение типа нескольких столбцов
df[['col1', 'col2']] = df[['col1', 'col2']].astype(float)
# также можно использовать словарь для разных типов
df = df.astype({'col1': int, 'col2': float, 'col3': str})
Также, чтобы избежать ошибок, нужно передать параметр error='coerce'. Это заменит непреобразуемые значения на NaN.