如何解决Python中未知的字符串格式pd.to_datetime尝试将此格式转换为日期时间格式时遇到问题
我在DF中的列标题具有以下格式->
df_weather.columns
['Max-09-23','Min-09-23','Max-09-24','Min-09-24','Max-09-25','Min-09-25','Max-09-26','Min-09-26','Max-09-27','Min-09-27','Max-09-28','Min-09-28','Max-09-29','Min-09-29','Max-09-30','Min-09-30','Max-10-01','Min-10-01','Max-10-02','Min-10-02']
我想将它们转换为日期时间格式,但是最小/最大引起了问题。任何帮助表示赞赏。
解决方法
一个选项可能是用特定年份替换“最小值” /“最大值”,并根据结果创建日期时间索引:
import pandas as pd
# let's create a dummy df...
cols = ['Max-09-23','Min-09-23','Max-09-24','Min-09-24','Max-09-25','Min-09-25','Max-09-26','Min-09-26','Max-09-27','Min-09-27','Max-09-28','Min-09-28','Max-09-29','Min-09-29','Max-09-30','Min-09-30','Max-10-01','Min-10-01','Max-10-02','Min-10-02']
df_weather = pd.DataFrame({k: [0,0] for k in cols})
# set a default year...
year = '2020'
# to datetime...
dti = pd.to_datetime(df_weather.columns.str.replace('(Max)|(Min)',year))
dti
DatetimeIndex(['2020-09-23','2020-09-23','2020-09-24','2020-09-25','2020-09-26','2020-09-27','2020-09-28','2020-09-29','2020-09-30','2020-10-01','2020-10-02','2020-10-02'],dtype='datetime64[ns]',freq=None)
否则,您也可以用“”代替,并使用定义的格式(format="-%m-%d"
)转换为日期时间。但这会增加默认年份1900。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。