将ddmmyyyy转换为ddmmyyyy

我有一个这样的df。

        SEMANAS      HIDROLOGICAS        METEOROLOGICAS
     0  02042020    36.00583090379008   31.284418529316522
     1  05032020    86.91690962099126   77.01136731748973
     2  12032020    87.31778425655976   77.24180581323434
     3  19032020    59.2201166180758    54.57343110404338
     4  26032020    32.39795918367347   29.049238743116323

我想把semanas列转换成格式日期,像这样: ddmmyyyy我试过这个代码。

Semanas_Oper['SEMANAS']=pd.to_datetime(Semanas_Oper['SEMANAS'],dayfirst=True).dt.strftime('%d/%m/%Y')

但我得到了这个错误:”ParserError: month must be in 1..:

ParserError: month must be in 1…12.

我怎样才能解决这个问题?谢谢。

解决方案:

我的评论的一个例子 – pandas 需要一点帮助才能正确解析’SEMANAS’中的日期。提供它正确的格式,你的代码就可以正常工作了。

import pandas as pd
# create example df:
Semanas_Oper = pd.DataFrame({'SEMANAS': ['02042020', '05032020', '12032020', '19032020', '26032020']})
# make sure we have datetime object column:
Semanas_Oper['SEMANAS'] = pd.to_datetime(Semanas_Oper['SEMANAS'], format='%d%m%Y')
# sort by date:
Semanas_Oper = Semanas_Oper.sort_values(by=['SEMANAS'])
# format back to string:
Semanas_Oper['SEMANAS'] = Semanas_Oper['SEMANAS'].dt.strftime('%d/%m/%Y')
# Semanas_Oper
#       SEMANAS
# 1  05/03/2020
# 2  12/03/2020
# 3  19/03/2020
# 4  26/03/2020
# 0  02/04/2020

注释@: 要按semanas列对df进行排序, 使用 sort_values – 但要确保在日期时间对象上排序,而不是字符串。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

Gradel Sync意外失败

2022-5-12 0:00:07

解决方案

我想在Crystal Reports中从一个字符串中获取字符。

2022-5-12 0:00:14

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索