首页 > 解决方案 > pandas dtype period [Q-DEC] 更改为 object

问题描述

我有df一个 dtypeperiod[Q-DEC]列。

Column    Non-Null Count  Dtype        
---  ------    --------------  -----        
 0   CIK       7436 non-null   int64        
 1   LINKDATE  7436 non-null   period[Q-DEC]

分组df

df.sort_values(['CIK','LINKDATE']).groupby(['LINKDATE','CIK'],as_index=False).apply(lambda x: x.iloc[-1]).reset_index(drop=True)

变成LINKDATE一个object. 如何将对象更改回period[Q-DEC]. 我已经尝试过pd.to_datetime(df['LINKDATE']),但我收到了这个错误:

TypeError: <class 'pandas._libs.tslibs.period.Period'> is not convertible to datetime

更新:我需要使用将对象转换为字符串格式strftime('%FQ%q'),然后period[Q-DEC]使用pd.to_datetime(df.LINKDATE).to_period("Q")

标签: pythonpandasdatetime

解决方案


推荐阅读