将数据类型对象DD Mon YYYY转换为Python中的数据格式



我使用pd.read_csv加载了一个csv,格式如下-

obj = pd.read_csv('usd_brl_date.csv', sep=';', usecols=[1,2,3,4,5,6])
In [34]: obj
Out [34]:
             Date   Price    Open    High     Low Change %
0     18/Mar/2016  3.6128  3.6241  3.6731  3.6051   -0.31%
1     17/Mar/2016  3.6241  3.7410  3.7449  3.6020   -3.16%
2     16/Mar/2016  3.7422  3.7643  3.8533  3.7302   -0.62%
In [35]: usdbrl.dtypes
Out [35]
Date         object
Price       float64
Open        float64
High        float64
Low         float64
Change %     object
dtype: object

我需要将列Date类型对象转换为数据类型。或者,如果可以为pd.read_csv.

中的第一列设置dtype

您可以使用to_datetime:

df['Date'] = pd.to_datetime(df['Date'], format="%d/%b/%Y")
print df
        Date   Price    Open    High     Low Change %
0 2016-03-18  3.6128  3.6241  3.6731  3.6051   -0.31%
1 2016-03-17  3.6241  3.7410  3.7449  3.6020   -3.16%
2 2016-03-16  3.7422  3.7643  3.8533  3.7302   -0.62%

格式。

或者在read_csv上加上参数parse_dates,如MaxU:所述

obj = pd.read_csv('usd_brl_date.csv', sep=';', usecols=[1,2,3,4,5,6], parse_dates=['Date'])
print df
        Date   Price    Open    High     Low Change %
0 2016-03-18  3.6128  3.6241  3.6731  3.6051   -0.31%
1 2016-03-17  3.6241  3.7410  3.7449  3.6020   -3.16%
2 2016-03-16  3.7422  3.7643  3.8533  3.7302   -0.62%

最新更新