我的数据框取自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)
该怎么办?似乎我无法更改为datetime,因为纳秒问题,我无法将其更改为字符串,因为我无法更改日期时间?
我不确定如何提供数据集作为示例。我会在这里放一个样本
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')