PyArrow后端date32[day]类型日期转月末的等效操作
针对PyArrow date32类型的月末转换方法
对于使用PyArrow后端、列类型为date32[day][pyarrow]的Pandas DataFrame,有两种实用的等效操作来实现月末日期转换:
方法一:直接使用PyArrow Compute函数
借助PyArrow原生计算函数month_end,高效处理PyArrow日期类型,且能保留原列类型:
import pyarrow.compute as pc # 将date32类型列转换为当月最后一天 crsp_m["date"] = crsp_m["date"].apply(pc.month_end)
方法二:通过Pandas dt访问器(需Pandas 2.0+版本)
如果你的Pandas版本足够新,date32类型列也可直接用dt访问器结合月末偏移量:
from pandas.tseries.offsets import MonthEnd # 先确保日期精确到天,再添加月末偏移 crsp_m["date"] = crsp_m["date"].dt.floor("D") + MonthEnd(0)
说明:两种方法都无需将
date32类型转为Pandas原生datetime,能保留PyArrow的高效计算特性,转换后列类型仍为date32[day][pyarrow]。
内容的提问来源于stack exchange,提问作者Kevin Li
相关产品推荐
相关产品推荐

