Python - Как убрать информацию о часовом поясе из объекта datetime - PullRequest
0 голосов
/ 29 сентября 2018

Как получить ColB из ColA

ColA (Localized datetime)           ColB (New datetime)
2016-09-19 00:29:13-05:00           2016-09-19 00:29:13
2016-09-19 04:16:04-02:00           2016-09-19 04:16:04
2016-09-19 06:57:54+01:00           2016-09-19 06:57:54

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Приведите его к дате

import pandas as pd
import numpy as np

data = ('2016-09-19 00:29:13-05:00,'
        '2016-09-19 04:16:04-02:00,'
'2016-09-19 06:57:54+01:00').split(',')

pd.DataFrame(data).astype(np.datetime64)
0 голосов
/ 29 сентября 2018

Использовать нарезку строк панд str для столбца как (Так как тип данных object согласно OP):

df['ColB (New datetime)'] = df['ColA (Localized datetime)'].str[:-6]

Или:

df['ColB (New datetime)'] = df['ColA (Localized datetime)'].str.slice(start=0,stop=19)

print(df)

   ColA (Localized datetime)  ColB (New datetime)
0  2016-09-19 00:29:13-05:00  2016-09-19 00:29:13
1  2016-09-19 04:16:04-02:00  2016-09-19 04:16:04
2  2016-09-19 06:57:54+01:00  2016-09-19 06:57:54

РЕДАКТИРОВАТЬ: Поскольку предыдущее решение SO вывод Timestamp с несовместимым форматом по столбцу, хотя тип данных object, но каждое значениеTimestamp:

df['ColB (New datetime)'] = df['ColA (Localized datetime)'].apply(lambda x: x.replace(tzinfo=None))
...