首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dataframe datetimeindex更改

dataframe datetimeindex更改
EN

Stack Overflow用户
提问于 2018-03-16 04:01:38
回答 1查看 85关注 0票数 0

我有一个包含日期列的dataframe。我想将此日期列转换为我的索引。当我将date列更改为pd.to_datetime(df['Date'], errors='raise', dayfirst=True)时,我得到:

代码语言:javascript
复制
df1.head()
Out[60]: 
        Date      Open      High       Low     Close     Volume   Market Cap
0 2018-03-14  0.789569  0.799080  0.676010  0.701902  479149000  30865600000
1 2018-03-13  0.798451  0.805729  0.778471  0.789711  279679000  31213000000
2 2018-12-03  0.832127  0.838328  0.787882  0.801048  355031000  32529500000
3 2018-11-03  0.795765  0.840407  0.775737  0.831122  472972000  31108000000
4 2018-10-03  0.854872  0.860443  0.793736  0.796627  402670000  33418600000

Date的格式最初是string dd-mm-yyyy,但是正如您所看到的,转换为datetime后,从第二行开始就搞乱了。如何获得一致的日期时间?

编辑:我想我已经解决了。使用下面关于格式的答案,我发现错误存在于我用来生成数据的包(\[cryptocmd\])中。我在包的utils脚本中将格式更改为%Y-%m-%d,现在似乎运行良好。

EN

回答 1

Stack Overflow用户

发布于 2018-03-16 04:14:46

根据the docs的说法

dayfirst :布尔值,默认为False

如果arg是字符串或其list-likes,则指定日期解析顺序。如果为True,则解析日期的第一天,例如10/11/12被解析为2012-11-10。警告: dayfirst=True并不严格,但更倾向于首先使用 day进行解析(这是一个已知错误,基于dateutil行为)。

重点是我的。因为您显然知道您的格式是"dd-mm-yyyy“,所以应该显式指定它:

代码语言:javascript
复制
 df['Date'] = pd.to_datetime(df['Date'], format='%d-%m-%Y', errors='raise')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49308247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档