python - 如何将 MMM-YYYY 中的 Excel 日期转换为日期时间或字符串?
问题描述
我的数据框取自一个 Excel 文件,该文件将日期格式设置为例如 2018 年 1 月。
我想更改为日期时间,例如 01-2018,甚至更改为字符串,例如 01/2018。
我有两个问题:
尝试转换为日期时间时出现超出范围的错误(纳秒)
twoyear_df['Date'] = twoyear_df['Date'].apply(lambda x: pd.to_datetime(x).strftime('%m/%Y'))
当我尝试将它们转换为字符串时:
twoyear_df['Date'] = pd.to_datetime(twoyear_df['Date'], format='%m%Y')
我得到一个
ValueError: time data 'Sep 18' does not match format '%m%Y' (match)
应该怎么做?由于纳秒问题,我似乎无法更改为日期时间,并且我无法将其更改为字符串,因为我无法更改日期时间?
我不确定如何提供数据集作为示例。我会在这里放一个样本
Date Price Open High Low Change %
0 Sep 18 2.707 2.637 2.711 2.629 2.95%
1 Aug 18 2.629 2.669 2.686 2.587 -1.68%
2 Jul 18 2.674 2.524 2.690 2.508 5.61%
3 Jun 18 2.532 2.431 2.602 2.427 3.94%
4 May 18 2.436 2.492 2.598 2.299 -2.25%
5 Apr 18 2.492 2.278 2.508 2.234 9.78%
6 Mar 18 2.270 2.254 2.366 2.197 0.53%
7 Feb 18 2.258 2.157 2.286 1.947 5.07%
8 Jan 18 2.149 1.907 2.165 1.891 13.88%
9 Dec 17 1.887 1.790 1.927 1.746 5.42%
我避免使用 NaT,因为我需要做一些时间序列分析。我感觉excel保存的所有日期都有纳秒问题。有没有办法绕过或完全删除它?
解决方案
我已经成功地解决了我自己的问题。感谢您的关注。如果有更好的解决方案,我会全力以赴
twoyear_df['Date'] = pd.to_datetime(twoyear_df['Date'], format='%b %y')
推荐阅读
- formik - 如何在 Formik 中获取更改的值?
- c++ - 当我尝试深度复制`unique_ptr`s时出现段错误
- typeorm - TypeORM QueryBuilder 使用外键约束插入表
- javascript - 需要帮助调用 text_a(),它最初在 foo() 中声明,在被调用函数 foo() 内
- javascript - 处理依赖反应查询
- regex - Ruby gem or regex to extract IPs from 0-255?
- typescript - 带有“扩展”的 Typeguard 不会像预期的那样缩小类型
- python - 附加模糊匹配的熊猫数据框
- python - 以下 arg 解包的区别
- wordpress - Wordpress - 将提交按钮添加到管理工具