pandate解析器将丢失的日期设置为当前日期

2024-09-28 01:23:31 发布

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

我正在解析一个提供月份和年份的固定宽度文件,我想从月份和年份创建一个pandas日期,该日期使用1作为日期(而不是pandas默认使用的月份的当前日期)。你知道吗

df = pd.read_fwf("/file", colspecs=colspecs,header=None,names=names, 
parse_dates= =  {'calendar':['eligYear',"eligMonth"]},keep_date_col=True)

数据示例:

eligyear eligmonth
2012     02
2012     01

理想结果,其中天=1而不是一个月的当前日期,例如

calendar
2012-02-01
2012-01-01

Tags: 文件nonepandasdfread宽度namescalendar
1条回答
网友
1楼 · 发布于 2024-09-28 01:23:31

我认为在csv中读取数据后,您可以更好地将数字解析为datetime,这将更加灵活。
例如,您可以执行以下操作:

In [43]: df = pd.read_csv(StringIO(s), sep='\s+')

In [47]: df['calendar'] = pd.to_datetime(df['eligyear']*10000 + df['eligmonth']*100 + 1, format='%Y%m%d')


In [48]: df
Out[48]: 
   eligyear  eligmonth   calendar
0      2012          2 2012-02-01
1      2012          1 2012-01-01

相关问题 更多 >

    热门问题