Конвертировать дату с плавающей запятой в формат ГГГГ-ММ-ДД - PullRequest
0 голосов
/ 10 июля 2019

У меня есть столбец Date со значениями с плавающей запятой, и я хотел бы преобразовать его в YYYY-MM-DD

Date
43411.74786 
43381.63381 
43339.3885

Я пробовал несколько методов из других потоков, но до сих пор не могу решить.

  1. df ['Date'] = pd.to_datetime (DF [ 'Дата'], формат = '% Y /% м /% г'). dt.strftime ( '% Y% м% d')

Это меняет год на 1970.

  1. df ['Modified'] = pd.to_datetime (df ['Modified'], unit = 's')

Это меняет год на 1970.

  1. df ['Date'] = pd.to_datetime (df ['Date'], формат = '% Y% m% d.0')

Я получаю сообщение об ошибке: данные времени '43411' не соответствуют формату '% Y% m% d.0' (совпадение).

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Это работает для меня, дайте мне знать, если это работает для вас.

x['Date_new']=pd.to_datetime(x.Date, unit='d', origin='1900-01-01').dt.strftime('%Y-%m-%d')
x

выход

       Date      Date_new
0   43411.74786  2018-11-09
1   43381.63381  2018-10-10
2   43339.38850  2018-08-29
0 голосов
/ 10 июля 2019

Проверка с

pd.to_datetime(df.Date,unit='d',origin='1900-01-01')
Out[364]: 
0   2018-11-09 17:56:55.104
1   2018-10-10 15:12:41.184
2   2018-08-29 09:19:26.400
Name: Date, dtype: datetime64[ns]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...