Python - Pandas - конвертировать столбец даты в формате 2018-01-01 в строковую версию отметки времени - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть столбец даты в формате 2018-01-01

Необходимо преобразовать это значение метки времени.

Но тогда значение метки времени необходимо преобразовать в его строковый эквивалент.

Придуманный пример:

print(myDf["myDateColumn"])
0   2018-03-01
1   NaT  

- какое-то решение -

print(myDf["myConvertedDateValueAsTextVersionOf10DigitTimestamp"])
0     1322697600.0
1

Проделал немало поисков / попыток. Невозможно получить дату в метку времени и не может получить метку времени в строку.

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Преобразовать строку в объект даты и времени, затем получить метку времени.

import datetime    
datetime.datetime.strptime('2018-03-01','%Y-%m-%d').timestamp()

Результат

1519842600.0

Теперь это можно реализовать для фрейма данных следующим образом. Таким образом можно создать новый столбец TimeStamp .

df = df.assign(TimeStamp = [datetime.datetime.strptime(val,'%Y-%m-%d').timestamp() for val in df.date.values])
0 голосов
/ 08 ноября 2018

Преобразовать в int и замаскировать NaT с, вот так.

df["UnixTimestamp"] = s.astype(int).floordiv(1e9).mask(s.isna(), '').astype(str)

print(df["UnixTimestamp"])

0    1519862400
1              
Name: UnixTimestamp, dtype: object

Обратите внимание, что столбец имеет тип str.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...