Как преобразовать дату / время в панды в целое число в панды? - PullRequest
0 голосов
/ 27 сентября 2018

Как я могу преобразовать в pandas формат даты, который выглядит примерно так:

2018-08-27 00:00:00.000
2018-08-26 00:00:00.000
2018-08-24 00:00:00.000
2018-08-24 00:00:00.000
2018-08-24 00:00:00.000
2018-08-24 00:00:00.000
2018-08-23 00:00:00.000
2018-08-23 00:00:00.000
2018-08-20 00:00:00.000
2018-08-20 00:00:00.000

в целочисленный формат, считающий дни с первого января 2010 года?

Ответы [ 2 ]

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

Вы можете просто применить sub к столбцу меток времени панд, как это было сказано Джезраэль в его ответе, который очень прямой.

Если вы хотите сделать одно и то же последовательно, вы можете сделать это так с помощью карты

base_date = pd.Timestamp('2010-01-01 00:00:00')

df['days'] = df['date'].map(lambda date : (pd.Timestamp(date) - base_date).days )
0 голосов
/ 27 сентября 2018

Вычтите дату из столбца на Series.sub и преобразуйте временные интервалы в дни на Series.dt.days:

df['days'] = pd.to_datetime(df['date']).sub(pd.Timestamp('2010-01-01')).dt.days
print (df)
                      date  days
0  2018-08-27 00:00:00.000  3160
1  2018-08-26 00:00:00.000  3159
2  2018-08-24 00:00:00.000  3157
3  2018-08-24 00:00:00.000  3157
4  2018-08-24 00:00:00.000  3157
5  2018-08-24 00:00:00.000  3157
6  2018-08-23 00:00:00.000  3156
7  2018-08-23 00:00:00.000  3156
8  2018-08-20 00:00:00.000  3153
9  2018-08-20 00:00:00.000  3153
...