Как бы я изменил дату происхождения серии pandas, которая имеет тип dtime datetime64 [ns]? - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть серия pandas, которая имеет dtype datetime64 [нс]. Вот как это выглядит:

0      1970-01-01 00:00:00
1      1970-01-01 00:00:01
2      1970-01-01 00:00:02
3      1970-01-01 00:00:03
4      1970-01-01 00:00:04
5      1970-01-01 00:00:05
6      1970-01-01 00:00:06
7      1970-01-01 00:00:07
8      1970-01-01 00:00:08
9      1970-01-01 00:00:09
10     1970-01-01 00:00:10
11     1970-01-01 00:00:11
12     1970-01-01 00:00:12
13     1970-01-01 00:00:13
14     1970-01-01 00:00:14
15     1970-01-01 00:00:15
16     1970-01-01 00:00:16

Я бы хотел установить собственную дату происхождения (часть времени datetime останется неизменной), чтобы она выглядела следующим образом:

0      2019-02-19 00:00:00
1      2019-02-19 00:00:01
2      2019-02-19 00:00:02
3      2019-02-19 00:00:03
4      2019-02-19 00:00:04
5      2019-02-19 00:00:05
6      2019-02-19 00:00:06
7      2019-02-19 00:00:07
8      2019-02-19 00:00:08
9      2019-02-19 00:00:09
10     2019-02-19 00:00:10
11     2019-02-19 00:00:11
12     2019-02-19 00:00:12
13     2019-02-19 00:00:13
14     2019-02-19 00:00:14
15     2019-02-19 00:00:15
16     2019-02-19 00:00:16

Каков наилучший способ выполнить sh это?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Если вы хотите произвольное происхождение, вы можете суммировать разницу с этой датой-временем:

df['Date'] = df['Date'].apply(lambda x: x + datetime.datetime(2019, 2, 19) - datetime.datetime(1970, 1, 1))
0 голосов
/ 02 апреля 2020

Если ваш столбец называется Date, используйте Timestamp.replace:

df['Date'].apply(lambda dt: dt.replace(2019, 2, 19))
# or more self expalantory
# df['Date'].apply(lambda dt: dt.replace(year=2019, month=2, day=19))

0    2019-02-19 00:00:00
1    2019-02-19 00:00:01
2    2019-02-19 00:00:02
3    2019-02-19 00:00:03
4    2019-02-19 00:00:04
5    2019-02-19 00:00:05
6    2019-02-19 00:00:06
7    2019-02-19 00:00:07
8    2019-02-19 00:00:08
9    2019-02-19 00:00:09
10   2019-02-19 00:00:10
11   2019-02-19 00:00:11
12   2019-02-19 00:00:12
13   2019-02-19 00:00:13
14   2019-02-19 00:00:14
15   2019-02-19 00:00:15
16   2019-02-19 00:00:16
Name: Date, dtype: datetime64[ns]
...