Python 正在损坏的datetime对象
我正在尝试在一个数据框中创建时区感知的日期列。当我运行下面的代码时,生成的pandas列与我输入的datetime不相同。我做错了什么 我正在使用python 3.6.2和pandas 0.20.3Python 正在损坏的datetime对象,python,pandas,datetime,pytz,Python,Pandas,Datetime,Pytz,我正在尝试在一个数据框中创建时区感知的日期列。当我运行下面的代码时,生成的pandas列与我输入的datetime不相同。我做错了什么 我正在使用python 3.6.2和pandas 0.20.3 from datetime import datetime import pandas as pd import pytz date_string = "12/14/2016 12:00" timezone = pytz.timezone("US/Pacific") input_datetime
from datetime import datetime
import pandas as pd
import pytz
date_string = "12/14/2016 12:00"
timezone = pytz.timezone("US/Pacific")
input_datetime = datetime.strptime(date_string, "%m/%d/%Y %H:%M").replace(tzinfo=timezone)
df = pd.DataFrame({"datetime":[input_datetime]})
如果我运行该代码,df['datetime'][0]。minute
返回53
,而input\u datetime。minute
返回0
当我不替换tzinfo时,我没有问题。如果您首先转换
输入\u datetime
,您可以使用.dt.minute
调用数据帧的分钟数(或年数等)
input_datetime = pd.to_datetime(datetime.strptime(date_string,
"%m/%d/%Y %H:%M")).replace(tzinfo=timezone)
df = pd.DataFrame({"datetime":[input_datetime]})
df['datetime'].dt.minute
您可以使用pandas
.dt
和tz\u localize
:
from datetime import datetime
import pandas as pd
date_string = "12/14/2016 12:00"
df = pd.DataFrame({'datetime':[datetime.strptime(date_string, "%m/%d/%Y %H:%M")]})
df['datetime'].dt.tz_localize('US/Pacific')
输出:
0 2016-12-14 12:00:00-08:00
Name: datetime, dtype: datetime64[ns, US/Pacific]
发布您的实际代码,而不是屏幕截图。再看看。你说的改变是什么意思?是不是因为你在打电话给
x
的会议记录,时间是10/5/16 0:00
?@JosephK<代码>日期时间。创建熊猫数据帧后,日期时间(2016、12、14、12、0、tzinfo=)成为时间戳('2016-12-14 11:53:00-0800',tz='US/Pacific')