python TypeError datetime.datetime не может преобразовать серию в класс int - PullRequest
1 голос
/ 25 марта 2020

Надеюсь, ты сможешь мне помочь. Я хочу проверить, является ли дата действительной или нет. Я читал, что я могу сделать это с datetime. Мой код:

import pandas as pd
import datetime as dt

df = pd.read_csv("file.csv", encoding="latin1")

dfTest = pd.DataFrame()
dfTest['year'] = df.GEBURTSTAG.dt.year
dfTest['month'] = df.GEBURTSTAG.dt.month
dfTest['day'] = df.GEBURTSTAG.dt.day

dfTest['check'] = dt.datetime(dfTest.year, dfTest.month, dfTest.day)

Если я запускаю этот код, появляется следующая ошибка TypeError:

не может преобразовать серию в класс 'int'

Я не могу найти проблему.

Thx

1 Ответ

0 голосов
/ 25 марта 2020

Используйте .astype (int)

dfTest['year'] = df.GEBURTSTAG.dt.year.astype(int)
dfTest['month'] = df.GEBURTSTAG.dt.month.astype(int)
dfTest['day'] = df.GEBURTSTAG.dt.day.astype(int)

Для преобразования numpy .int64 в int:

dfTest = (pd.DataFrame()).to_dict()

.tolist() также работает.

...