大佬教程收集整理的这篇文章主要介绍了将多种“对象”格式转换为日期时间,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
“Financial_Year”列有多种格式的对象。我想将它们标准化为“YYYY”格式,如下所示:
Financial_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_datetiR_406_11845@e(df['Financial_Year'])
df.loc[df.format == 1,'Year'] = pd.to_datetiR_406_11845@e(df.loc[df.format ==1,'%Y-%y'],format = 'YYYY-YY').dt.strftime('%Y-%y')
df.loc[df.format == 2,'Year'] = pd.to_datetiR_406_11845@e(df.loc[df.format ==2,'%Y'],format = 'YYYY').dt.strftime('%Y')
这是我得到的错误“ValueError:给定的日期字符串不太可能是日期时间。”
在此先感谢您并感谢您的帮助。
我认为解决方案应该通过按 -
拆分并选择第一个 year
来简化:
df['Year'] = df['Financial_Year'].str.split('-').str[0]
如果需要处理日期时间并仅匹配格式 YYYY-YY
和 YYYY
,请使用:
d1 = pd.to_datetiR_406_11845@e(df['Financial_Year'],format = '%Y-%y',errors='coerce')
d2 = pd.to_datetiR_406_11845@e(df['Financial_Year'],format = '%Y',errors='coerce')
df['Year'] = d1.fillna(d2).dt.year
,
您可以使用正则表达式让四位数字连续出现:
df['New_Year'] = df['Financial_Year'].str.extract('(\d{4})')
输出:
Financial_Year New_Year
0 2020-21 2020
1 2019-20 2019
2 2013 2013
3 2009 2009
以上是大佬教程为你收集整理的将多种“对象”格式转换为日期时间全部内容,希望文章能够帮你解决将多种“对象”格式转换为日期时间所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。