我有一个 pandas 数据框,其中一列包含以下格式的年份和季度字符串:
2015Q1
我的问题: 如何将其转换为两个日期时间列,一个用于年份,一个用于季度。
最佳答案
您可以使用 split
,然后将 year
列转换为 int
并在必要时将 Q
添加到 q
列:
df = pd.DataFrame({'date':['2015Q1','2015Q2']})
print (df)
date
0 2015Q1
1 2015Q2
df[['year','q']] = df.date.str.split('Q', expand=True)
df.year = df.year.astype(int)
df.q = 'Q' + df.q
print (df)
date year q
0 2015Q1 2015 Q1
1 2015Q2 2015 Q2
您也可以使用 Period
:
df['date'] = pd.to_datetime(df.date).dt.to_period('Q')
df['year'] = df['date'].dt.year
df['quarter'] = df['date'].dt.quarter
print (df)
date year quarter
0 2015Q1 2015 1
1 2015Q2 2015 2
关于python - 将字符串转换为日期 [含年份和季度],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40634813/