我从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
答案 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应该为您提供更多详细信息。