В датафрейме при преобразовании даты, она неправильно преобразуется
Собственно если преобразовать дату скажем из 20140106 то получим 1/01/1970. И это конечно же неправильно. Не пойму где ошибка.
df2 = pd.read_csv('200524.csv')
df2.columns = ['Date', 'Time', 'Counte']
df2['Data'] = pd.to_datetime(df2['Date'])
del df2['Date']
df2['Data'] = pd.to_datetime(df2['Data'], format='%Y-%m-%d') \
.dt.strftime('%m/%d/%Y').str.lstrip("0")
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
попробуйте так:
df2['Data'] = pd.to_datetime(df2['Date'].astype(str))
pd.to_datetime() - очень умная функция которая старается распознать дату в самых разных форматах.
В большинстве случаев на вход данной функции передают элементы строковых типов данных.
В вашем случае вы, похоже, передаете в качестве элементов целое число. Если передать pd.to_numeric() элементы с целыми числами, то функция воспримет это как число наносекунд, прошедших с 1970-01-01 00:00:00 UTC.
Пример:
In [7]: pd.to_datetime([20140106])
Out[7]: DatetimeIndex(['1970-01-01 00:00:00.020140106'], dtype='datetime64[ns]', freq=None)
# NOTE: ---------------------------------> ^^^^^^^^^