程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将多种“对象”格式转换为日期时间大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决将多种“对象”格式转换为日期时间?

开发过程中遇到将多种“对象”格式转换为日期时间的问题如何解决?下面主要结合日常开发的经验,给出你关于将多种“对象”格式转换为日期时间的解决方法建议,希望对你解决将多种“对象”格式转换为日期时间有所启发或帮助;

“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-YYYYYY,请使用:

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,请注明来意。