Python 在pandas read csv函数中推断日期时间格式时,如何保持数据帧索引的时区?

Python 在pandas read csv函数中推断日期时间格式时,如何保持数据帧索引的时区?,python,pandas,csv,datetime,Python,Pandas,Csv,Datetime,我正在尝试读取一个csv文件,其索引存储为YYYY-MM-DD HH:MM:SS UTC格式。以下是如何将日期存储在csv文件中的示例: 2018-11-19 13:32:00 UTC 读取csv文件时,我使用的是pandas.read\u csv()。此函数具有内置参数,可推断索引的日期时间,这将显著加快进程 但是,将csv文件读入数据帧时,UTC时区将被删除。下面是我的代码: df=pd.read\u csv('bitfinex\u ENJ\u USD\u 1m.csv', 分隔符=',',

我正在尝试读取一个csv文件,其索引存储为
YYYY-MM-DD HH:MM:SS UTC
格式。以下是如何将日期存储在csv文件中的示例:
2018-11-19 13:32:00 UTC

读取csv文件时,我使用的是
pandas.read\u csv()
。此函数具有内置参数,可推断索引的日期时间,这将显著加快进程

但是,将csv文件读入数据帧时,
UTC
时区将被删除。下面是我的代码:

df=pd.read\u csv('bitfinex\u ENJ\u USD\u 1m.csv',
分隔符=',',
索引列='日期',
引擎='c',
parse_dates=True,
推断(日期时间格式=真)

我曾尝试查阅文档,虽然我可以使用
tz.localize
功能,但这将非常昂贵,因为此数据集非常大,需要操作整个索引以添加csv文件中已有的信息。我想知道在执行
read\u csv
功能时,是否有一种方法可以显式保留此时区组件?

无法复制(get I get datetime64[ns,UTC])->您可以尝试使用
parse\u dates=['Date']
?另外,我认为您不需要将expert\u datetime\u format设置为True。另外,您必须指定引擎吗?指定引擎会将读取文件的速度提高3倍。那么您是否尝试了我的其他建议?另一件需要记住的事情是,pandas在内部处理不知道的日期时间,就像它是UTC一样(与本机Python相反,本机Python假定本地时间)。所以,虽然在你的例子中,它当然应该被正确地解析,但从实际的角度来看,我认为这是可以容忍的。是的,我尝试过将推断日期时间格式设置为False,现在似乎成功了。它删除了UTC,并将其替换为+00:00,我想这也行。尽管这样,运行时会变慢。
+00:00
表示UTC,因此这是预期的。列数据类型现在应该是
datetime64[ns,UTC]
。您可以尝试的另一个选项是使用
utc=True进行解析,请参阅。我怀疑这是否有助于提高性能。无法复制(get I get datetime64[ns,UTC])->您可以尝试使用
parse_dates=['Date']
?另外,我认为您不需要将expert\u datetime\u format设置为True。另外,您必须指定引擎吗?指定引擎会将读取文件的速度提高3倍。那么您是否尝试了我的其他建议?另一件需要记住的事情是,pandas在内部处理不知道的日期时间,就像它是UTC一样(与本机Python相反,本机Python假定本地时间)。所以,虽然在你的例子中,它当然应该被正确地解析,但从实际的角度来看,我认为这是可以容忍的。是的,我尝试过将推断日期时间格式设置为False,现在似乎成功了。它删除了UTC,并将其替换为+00:00,我想这也行。尽管这样,运行时会变慢。
+00:00
表示UTC,因此这是预期的。列数据类型现在应该是
datetime64[ns,UTC]
。您可以尝试的另一个选项是使用
utc=True进行解析,请参阅。我怀疑这是否有助于提高绩效。