【发布时间】:2021-08-24 06:13:23
【问题描述】:
其中“Financial_Year”列有多种格式的对象。我想将它们标准化为“YYYY”格式,如下所示:
| Financial_Year | "NEW"_Year |
|---|---|
| 2020-21 | 2020 |
| 2019-20 | 2019 |
| 2013 | 2013 |
| 2009 | 2009 |
我尝试使用在此处找到的以下代码,但在我的情况下似乎不起作用:
df['format'] = 1
df.loc[df['Financial_Year'].str.contains('YYYY'), 'format'] = 2
df['Year'] = pd.to_datetime(df['Financial_Year'])
df.loc[df.format == 1, 'Year'] = pd.to_datetime(df.loc[df.format ==1, '%Y-%y'], format = 'YYYY-YY').dt.strftime('%Y-%y')
df.loc[df.format == 2, 'Year'] = pd.to_datetime(df.loc[df.format ==2, '%Y'], format = 'YYYY').dt.strftime('%Y')
这是我得到的错误“ValueError:给定的日期字符串不太可能是日期时间。”
我做了一些其他的互联网搜索,但我还没有找到解决方案。
提前感谢您的帮助。
【问题讨论】: