为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫:一列中的多种日期格式

熊猫:一列中的多种日期格式

吃鸡游戏 2023-03-16 15:46:22
我在一个 Pandas 系列(列)中有两种日期格式需要标准化为一种格式(mmm dd & mm/dd/YY)日期1月3日1 月 2 日1 月 1 日12/31/1912/30/1912/29/19即使是 Excel 也不会将 mmm dd 格式识别为日期格式。我可以使用 str.replace 将 mmm 更改为完整拼写的月份:df['Date'] = df['Date'].str.replace('Jan', 'January', regex=True)但是如何添加当前年份?然后如何将 2020 年 1 月 1 日转换为 01/01/20?
查看完整描述

3 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

你试过 parse()


from dateutil.parser import parse

import datetime


def clean_date(text):

  datetimestr = parse(text)

  text = datetime.strptime(datetimestr, '%Y%m%d')

  return text


df['Date'] = df['Date'].apply(clean_date)

df['Date'] = pd.to_datetime(df['Date']) 


查看完整回答
反对 回复 2023-03-16
?
慕少森

TA贡献2019条经验 获得超9个赞

如果它在数据框中使用这个:


from dateutil.parser import parse

import pandas as pd


for i in range(len(df['Date'])):

    df['Date'][i] = parse(df['Date'][i])

df['Date'] = pd.to_datetime(df['Date']).dt.strftime("%d-%m-%Y")


查看完整回答
反对 回复 2023-03-16
?
潇湘沐

TA贡献1816条经验 获得超6个赞

找到解决方案(需要使用apply):

df['date'] = df['date'].apply(dateutil.parser.parse)


查看完整回答
反对 回复 2023-03-16
  • 3 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信