2017-04-06 78 views
1

我在列中有一个混合日期格式的数据框。其中一些格式为dd/mm/yyyy,其中一些格式为d/m/y。如何通过根据单元格的值应用适当的格式将列设置为日期时间? 我从一个CSV文件中读取:在pandas中混合日期格式dd/mm/yyyy和d/m/y

DayofWeek,Date 
Friday,22/05/2015 
Friday,10/2/12 
Friday,10/10/14 
Friday,21/10/2011 
Friday,8/7/11 
+1

怎么是'pd.read_csv( 'path_to_csv_file',parse_dates = [1],dayfirst = TRUE)'?或'pd.read_csv('file_with_dates.csv',parse_dates = ['Date'],dayfirst = True)'? – Abdou

+0

像明智的,如果该文件已被读取,您可以使用pandas datetime'pd.to_datetime(df.Date,dayfirst = True)' – johnchase

+0

感谢这两种方法的工作。 –

回答

0
df = pd.read_csv('dates.txt', parse_dates=['Date'], dayfirst=True) 
df.info() 

<class 'pandas.core.frame.DataFrame'> 
RangeIndex: 5 entries, 0 to 4 
Data columns (total 2 columns): 
DayofWeek 5 non-null object 
Date   5 non-null datetime64[ns] 
dtypes: datetime64[ns](1), object(1) 
memory usage: 100.0+ bytes 

print(df) 

    DayofWeek  Date 
0 Friday 2015-05-22 
1 Friday 2012-02-10 
2 Friday 2014-10-10 
3 Friday 2011-10-21 
4 Friday 2011-07-08