如何将MMM-YYYY中的Excel日期转换为日期时间或字符串?

问题描述 投票:0回答:1

我的数据框取自Excel文件,该文件格式化日期,例如2018年1月。

我想更改为日期时间,例如01-2018,或者甚至更改为01/2018之类的字符串。

我有两个问题:

  1. 当试图转换为datetime时,我有一个出界错误(纳秒) twoyear_df['Date'] = twoyear_df['Date'].apply(lambda x: pd.to_datetime(x).strftime('%m/%Y'))
  2. 当我尝试将它们转换为字符串时: 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保存的所有日期都有纳秒问题。有没有办法绕过或完全删除它?

python pandas datetime dataframe
1个回答
2
投票

我成功解决了自己的问题。感谢您的关注。如果有更好的解决方案,我全都耳朵

twoyear_df['Date'] = pd.to_datetime(twoyear_df['Date'], format='%b %y')
© www.soinside.com 2019 - 2024. All rights reserved.