Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
351 views
in Technique[技术] by (71.8m points)

python - How to convert time zones of datetime column in Pandas?

I have a column (non-index column) that has datetimes inside it. For example, the first five entries look something like this:

[Timestamp('2018-11-15 19:57:55'),
 Timestamp('2018-11-15 19:59:46'),
 Timestamp('2018-11-15 20:00:59'),
 Timestamp('2018-11-15 20:01:41'),
 Timestamp('2018-11-15 20:01:54')]

I want to convert the entries from UTC to the Pacific timezone. Assuming the column is called times I am currently doing the following:

times.dt.tz_localize('GMT').dt.tz_convert('America/Los_Angeles')

While this successfully converts the column from UTC to PST, the output has extraneous components that I do not want. It looks like the following:

[Timestamp('2018-11-15 11:57:55-0800', tz='America/Los_Angeles'),
 Timestamp('2018-11-15 11:59:46-0800', tz='America/Los_Angeles'),
 Timestamp('2018-11-15 12:00:59-0800', tz='America/Los_Angeles'),
 Timestamp('2018-11-15 12:01:41-0800', tz='America/Los_Angeles'),
 Timestamp('2018-11-15 12:01:54-0800', tz='America/Los_Angeles')]

How do I remove or ignore the -0800 from the timestamps? Thanks!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Just add a last step of .tz_localize(None):

import pandas as pd
d = pd.Series(['2018-11-15 19:57:55', '2018-11-15 19:59:46'])
d = pd.to_datetime(d)
d
0   2018-11-15 19:57:55
1   2018-11-15 19:59:46
dtype: datetime64[ns]

d_pacific_tz_aware = d.dt.tz_localize("GMT").dt.tz_convert('America/Los_Angeles')
d_pacific_tz_aware
0   2018-11-15 11:57:55-08:00
1   2018-11-15 11:59:46-08:00
dtype: datetime64[ns, America/Los_Angeles]


d_pacific_tz_naive = d.dt.tz_localize("GMT").dt.tz_convert('America/Los_Angeles').dt.tz_localize(None)
d_pacific_tz_naive
0   2018-11-15 11:57:55
1   2018-11-15 11:59:46
dtype: datetime64[ns]

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...