как преобразовать object в int64 Python

как преобразовать столбец "data" из object в int64, вот данные df

import numpy as np
import pandas as pd


df = pd.read_excel("df.xlsx")

# пробую так, но выдает ошибку.
df["data"].values.astype(np.int64)


Traceback (most recent call last):
  File "<ipython-input-143-763b952fb481>", line 1, in <module>
    df["data"].values.astype(np.int64)
ValueError: invalid literal for int() with base 10: '1 246'


Ответы (3 шт):

Автор решения: MaxU

Воспользуйтесь методом pd.to_numeric():

df["new"] = pd.to_numeric(df["data"].str.replace(r"[^\d\-]", ""), errors="coerce")
→ Ссылка
Автор решения: VEL

Спасибо "MaxU" за предоставленный метод, в сымитированной задачи в этой он сработал, но когда перенес его(код) на рабочею задачу, то выскочила ошибка:

(AttributeError: Can only use .str accessor with string values!)

Помогло решить эту ошибку не большое дополнение к коду, вот решение которое у меня сработало.

df["new"] = pd.to_numeric(df["data"].astype(str).str.replace(r"[^\d\-]", ""), errors="coerce")
→ Ссылка
Автор решения: FeR
def make_data(data):

    if data == '...'
        return 1
    elif data == '...'
         return 2
    return 3

Как по мне лучше воспользоваться таким способом.

→ Ссылка