gpt4 book ai didi

python - Pandas read_csv 无法将 ISO8601 识别为日期时间数据类型

转载 作者:太空狗 更新时间:2023-10-30 01:28:51 26 4
gpt4 key购买 nike

目前我正在使用 pandas 将 csv 文件读入 DataFrame,使用第一列作为索引。第一列采用 ISO 8601 格式,因此根据 read_csv 的文档,它应该被识别为日期时间:

In [1]: import pandas as pd

In [2]: df = pd.read_csv('data.csv', index_col=0)

In [3]: print df.head()
U V Z Ubar Udir
2014-11-01 00:00:00 0.73 -0.81 0.46 1.0904 317.97
2014-11-01 01:00:00 1.26 -1.50 0.32 1.9590 319.97
2014-11-01 02:00:00 1.50 -1.80 0.13 2.3431 320.19
2014-11-01 03:00:00 1.39 -1.65 0.03 2.1575 319.89
2014-11-01 04:00:00 0.94 -1.08 -0.03 1.4318 318.96

但是,当查询索引数据类型时,它返回'object':

In [4]: print df.index.dtype
object

然后我必须手动将它转换为 datetime dtype:

In [5]: df.index = pd.to_datetime(df.index)

In [6]: print df.index.dtype
datetime64[ns]

调用 read_csv() 时,有什么方法可以自动将索引设置为 datetime dtype 吗?

最佳答案

我刚刚在 csv 文件中为第一列添加了列名。

                 Date     U     V     Z    Ubar    Udir
0 2014-11-01 00:00:00 0.73 -0.81 0.46 1.0904 317.97
1 2014-11-01 01:00:00 1.26 -1.50 0.32 1.9590 319.97
2 2014-11-01 02:00:00 1.50 -1.80 0.13 2.3431 320.19
3 2014-11-01 03:00:00 1.39 -1.65 0.03 2.1575 319.89
4 2014-11-01 04:00:00 0.94 -1.08 -0.03 1.4318 318.96

df = pd.read_csv(input_file)
df.index = pd.to_datetime(df['Date'], format='%Y-%m-%d %H:%M:%S')

如果要删除日期列,可以使用

df = df.drop('Date', 1)

关于python - Pandas read_csv 无法将 ISO8601 识别为日期时间数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27276816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com