【发布时间】:2019-05-22 17:37:46
【问题描述】:
编辑:
如果您要回答这个问题并且您的字符串看起来像 1996-Q1,那么只需使用 pd.to_datetime(df['Quarter']) 将其转换为正确的 pandas 日期时间。这个问题是关于解决所有不是这种标准格式的季度日期。
原始问题:
我正在寻找一种很好的、可读的和可理解的方式(您下次可以记住的方式)将Q3 1996 转换为熊猫日期时间,例如1996-07-01 在这种情况下。
直到现在我才发现这个,但它非常丑陋:
df = pd.DataFrame({'Quarter':['Q3 1996', 'Q4 1996', 'Q1 1997']})
df['date'] = (
pd.to_datetime(
df['Quarter'].str.split(' ').apply(lambda x: ''.join(x[::-1]))
))
print(df)
Quarter date
0 Q3 1996 1996-07-01
1 Q4 1996 1996-10-01
2 Q1 1997 1997-01-01
我希望以下内容可以工作,因为它是可读的,但不幸的是它没有:
df['date'] = pd.to_datetime(df['Quarter'], format='%q %Y')
问题还在于,pandas 进行简单处理时,季度和年份的顺序显然是错误的。
谁能帮我找到一种更简洁的方法将Q3 1996 转换为 pandas 日期时间?
【问题讨论】:
标签: python pandas date datetime period