Pandas是否支持yyyyQp表的季度日期(例如2013Q2)?

2024-06-16 10:10:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在导入一个CSV的宏观经济数据,但还没弄明白如何让熊猫来解释这种类型的日期。有没有一种方法可以自动完成,或者我需要自己解析它?在

当我要求解析器尝试时,我得到:

  File "datetime.pxd", line 133, in datetime._string_to_dts (pandas/tslib.c:31399)ValueError: Unable to parse 2002Q1

Tags: csvto数据方法in解析器类型pandas
3条回答

这里有一些东西可以帮助那些在不同的专栏中有年份和季度的人:

year quarter foo
1994 q1      10
1994 q3      20
1995 q1      30
1995 q3      40

read_csvparse_dates参数可以正常工作。非常酷:

^{pr2}$

由于pd.Period可以解析季度期间,因此可以将其用作自定义的date_parser。然后,要将日期转换为季度的最后一天,可以使用mapend_time属性:

import pandas as pd

text = '''\
date    val
2013Q2 100
2013Q3 120
'''

filename = '/tmp/data'
with open(filename, 'w') as f:
    f.write(text)
df = pd.read_table(filename, sep='\s+', date_parser=pd.Period, parse_dates=[0])
df['date'] = df['date'].map(lambda x: x.end_time.date())

print(df)
#          date  val
# 0  2013-06-30  100
# 1  2013-09-30  120

它对各种业务日期/时间和频率都有很好的支持。但是您可能需要自己解析这个特定的格式。在

相关问题 更多 >