转换 pandas 中的自定义日期格式 [英] Convert custom date formats in pandas

查看:95
本文介绍了转换 pandas 中的自定义日期格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在数据框中,我想将多种日期格式更改为通用格式。

In my dataframe, I have multiple date formats that I want to change into a universal format.

1) 12/01 / 2011 11:25 PM

2) 12月1日,星期四,上午8:15

3) 2011年12月1日下午4:00

4) 2011年12月1日10:00 AM

5) 2011/12/1下午12:18

6) 12 / 1/11 2:06 PM(-05:00)

7) $ 2 $ 07Dec 01

8) 12月1日下午12:18

parse(x)在以下格式中失败:

6) 12/1/11 2:06 PM(-05:00)

7) 2月7日下午12月7日

是否可以为这些自定义日期格式创建参数?

Is there any way to create arguments for these custom date formats?

推荐答案

使用:

import pandas as pd
pd.to_datetime(DateString, format=FormatString)

您的示例的e代码:

date_old = '12/01/2011 11:25 PM'
date_new = pd.to_datetime(date_old, format='%d/%m/%Y %I:%M %p')

date_old = 'Dec.01, 2011 4:00 p.m'
date_new = pd.to_datetime(date_old[:-2] + 'm', format='%b.%d, %Y %I:%M %p')

date_old = '2011 - 12 - 01 10:33 AM'
date_new = pd.to_datetime(date_old, format='%Y - %m - %d %I:%M %p')

date_old = '12/1/2011 12:18PM '
date_new = pd.to_datetime(date_old, format='%d/%m/%Y %I:%M%p ')

from datetime import timedelta
date_old = '12/1/11 2:06 PM (-05:00)'
date_new = pd.to_datetime(date_old[:-9], format='%d/%m/%y %I:%M %p') - timedelta(hours=int(date_old[-6:-4]), minutes=int(date_old[-3:-1]))

date_old = '2:07 PMDec 01'
date_new = pd.to_datetime(date_old, format='%I:%M %p%b %d')

date_old = "12:18 PM, Dec 01"
date_new = pd.to_datetime(date_old, format='%I:%M %p, %b %d')

请参考转到 https://www.w3schools.com/python/python_datetime.asp 一种合法的格式代码。

Please refer to https://www.w3schools.com/python/python_datetime.asp for a legal format codes.

这篇关于转换 pandas 中的自定义日期格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆