如何将专业日期字符串转换为日期时间对象

时间:2018-04-09 17:11:21

标签: python pandas datetime

我从csv文件加载了以下pandas数据框,显示了第一列(每年一次)。

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 44 entries, 0 to 43
Data columns (total 2 columns):
Quarter     44 non-null object
Earnings    44 non-null float64
dtypes: float64(1), object(1)
memory usage: 784.0+ bytes
None

 Quarter  Earnings
 0  2007Q1     -0.36
 1  2007Q2     -0.38
 2  2007Q3      0.07
 3  2007Q4      1.85
 4  2008Q1     -0.34

我希望将第一列转换为此(下方)。是否有某种类型的python或pandas datetime函数来执行此操作

In [1]: print(HRB)
            Earnings
Quarter             
2007-01-01     -0.36
2007-04-01     -0.38
2007-07-01      0.07
2007-10-01      1.85
2008-01-01     -0.34
2008-04-01     -0.42
2008-07-01      0.02

这是原始csv数据

Quarter,Earnings
2007Q1,-0.36
2007Q2,-0.38
2007Q3,0.07
2007Q4,1.85
2008Q1,-0.34
2008Q2,-0.42
2008Q3,0.02

1 个答案:

答案 0 :(得分:0)

假设年度季度包含在数据框quarter中名为data的列中,则下面的代码会将它们转换为datetime对象。

print(data)

    quarter
0   2007Q1
1   2007Q2
2   2007Q3
3   2007Q4
4   2008Q1

pd.to_datetime(data['quarter'])

0   2007-01-01
1   2007-04-01
2   2007-07-01
3   2007-10-01
4   2008-01-01

This answer应该为您提供更多详细信息。