gpt4 book ai didi

python - Pandas read_csv 日期时间错误

转载 作者:太空宇宙 更新时间:2023-11-03 14:05:54 25 4
gpt4 key购买 nike

我有一个具有以下格式的 CSV 文件 (aal_21_02_2018):

,Open,High,Low,Close,Volume
2018-02-21 08:01:00,1744.2,1746.0,1738.6,1738.6,34727
2018-02-21 08:02:00,1738.8,1743.0,1738.8,1740.0,6483
2018-02-21 08:03:00,1739.6,1739.6,1737.8,1738.2,6622

我想把这个文件变成一个DataFrame。当我运行以下方法时:

df = read_csv('aal_21_02_2018', index_col='datetime')

显示以下错误:

ValueError: Index datetime invalid

如何正确地将这个 CSV 文件解析为 DataFrame?

最佳答案

您有一个未命名的列,因此请传递序数位置

df = read_csv('aal_21_02_2018', index_col=0)

示例:

In[4]:
df = pd.read_csv(io.StringIO(t), index_col=0)
df

Out[4]:
Open High Low Close Volume
2018-02-21 08:01:00 1744.2 1746.0 1738.6 1738.6 34727
2018-02-21 08:02:00 1738.8 1743.0 1738.8 1740.0 6483
2018-02-21 08:03:00 1739.6 1739.6 1737.8 1738.2 6622

如果您需要 datetimeIndex,则可以传递 parse_dates=[0]:

In[7]:
df = pd.read_csv(io.StringIO(t), index_col=0, parse_dates=[0])
df

Out[7]:
Open High Low Close Volume
2018-02-21 08:01:00 1744.2 1746.0 1738.6 1738.6 34727
2018-02-21 08:02:00 1738.8 1743.0 1738.8 1740.0 6483
2018-02-21 08:03:00 1739.6 1739.6 1737.8 1738.2 6622

我们可以看到索引现在是一个 datetimeIndex:

In[8]:
df.index

Out[8]:
DatetimeIndex(['2018-02-21 08:01:00', '2018-02-21 08:02:00',
'2018-02-21 08:03:00'],
dtype='datetime64[ns]', freq=None)

关于这是如何发生的,默认的 to_csv 行为是将索引输出为未命名列,如果您传递 index_label='datetime' 那么这将写出一个命名索引:

In[10]:
df.to_csv(index_label='datetime')

Out[10]: 'datetime,Open,High,Low,Close,Volume
2018-02-21 08:01:00,1744.2,1746.0,1738.6,1738.6,34727
2018-02-21 08:02:00,1738.8,1743.0,1738.8,1740.0,6483
2018-02-21 08:03:00,1739.6,1739.6,1737.8,1738.2,6622'

那么你的原始代码就会起作用:

In[12]:
pd.read_csv(io.StringIO(df.to_csv(index_label='datetime')), index_col='datetime')

Out[12]:
Open High Low Close Volume
datetime
2018-02-21 08:01:00 1744.2 1746.0 1738.6 1738.6 34727
2018-02-21 08:02:00 1738.8 1743.0 1738.8 1740.0 6483
2018-02-21 08:03:00 1739.6 1739.6 1737.8 1738.2 6622

关于python - Pandas read_csv 日期时间错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48904194/

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