Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正在损坏的datetime对象_Python_Pandas_Datetime_Pytz - Fatal编程技术网

Python 正在损坏的datetime对象

Python 正在损坏的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

我正在尝试在一个数据框中创建时区感知的日期列。当我运行下面的代码时,生成的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 =  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')