如何将pandas数据帧字符串值格式化为日期?

时间:2017-08-26 18:33:12

标签: python-2.7 pandas

我有从pandas数据帧获得的以下字符串值。

QLinearGradient()

如何将其转换为datetime.datetime(2017,5,16)对象?

THX。

1 个答案:

答案 0 :(得分:2)

您需要创建一个自定义日期解析器,在这里为您提供一些可重现的示例:

import pandas as pd 
import datetime 
from StringIO import StringIO 

st = u'01:19 AM Eastern, Tuesday, May 16, 2017'

def parse_date(date_string):
    date_string = ",".join(date_string.split(',')[-2:]).strip()
    return datetime.datetime.strptime(date_string, '%B %d, %Y')

df = pd.read_csv(StringIO(st), header=None, sep="|", date_parser=parse_date, parse_dates=[0])

如果您按如下方式打印dataFrame内容:

print("dataframe content")
print(df)

你会得到这个输出:

 dataframe content
            0
 0 2017-05-16

检查dtypes确认该列现在是datetime类型:

print("dataframe types")
print(df.dtypes)

输出:

dataframe types
0    datetime64[ns]
dtype: object