Relativity新的python / pandas用户在这里。我需要一些帮助来弄清楚如何规范化日期。我有一个数据集,其中日期列有不同类型的格式。像这样的东西(到目前为止,这2种是我见过的格式类型):
DATE PRICE
12/26/2015 XXX
12/26/2015 YYY
25-Dec-15 ZZZ
25-Dec-15 WWW
每当我打印出来时,它都是dtype:object
。还有哪些其他步骤来规范化日期?
编辑:只是为了补充一点,假设该文件是csv文件。
答案 0 :(得分:2)
可能更好的是通过参数parse_dates
在函数read_csv
中解析日期时间:
import pandas as pd
import io
temp=u"""DATE PRICE
12/26/2015 XXX
12/26/2015 YYY
25-Dec-15 ZZZ
25-Dec-15 WWW"""
#after testing change io.StringIO(temp) to filename
df = pd.read_csv(io.StringIO(temp), sep="\s+", parse_dates=['DATE'])
print df
DATE PRICE
0 2015-12-26 XXX
1 2015-12-26 YYY
2 2015-12-25 ZZZ
3 2015-12-25 WWW
print df.dtypes
DATE datetime64[ns]
PRICE object
dtype: object
print df.index
Int64Index([0, 1, 2, 3], dtype='int64')
或者,如果您想将index
设置为DatetimeIndex
:
#after testing change io.StringIO(temp) to filename
df = pd.read_csv(io.StringIO(temp), sep="\s+", parse_dates=['DATE'], index_col=['DATE'] )
print df
PRICE
DATE
2015-12-26 XXX
2015-12-26 YYY
2015-12-25 ZZZ
2015-12-25 WWW
print df.dtypes
PRICE object
dtype: object
print df.index
DatetimeIndex(['2015-12-26', '2015-12-26', '2015-12-25', '2015-12-25'], dtype='datetime64[ns]', name=u'DATE', freq=None)
答案 1 :(得分:1)
假设它是一个csv文件
df=pd.read_csv("f.csv")
df['DATE']=pd.to_datetime(df['DATE'])
print df.dtypes
这应该会转换日期'进入日期时间对象