如何将df中Date列的datetime.datetime类型转换为datetime.date
将DataFrame的datetime.datetime列转换为datetime.date类型
有两种实用方法可以实现需求,根据数据量和场景选择即可:
方法1:用pandas内置
dt访问器(推荐)
这是效率最高的方案,适合大数据集:df['Date'] = df['Date'].dt.date执行后,
Date列里的每个datetime.datetime对象都会被转为对应的datetime.date对象。方法2:
apply配合date()方法
如果需要添加自定义逻辑(比如过滤无效日期),可以用这种方式:df['Date'] = df['Date'].apply(lambda x: x.date())它会对列中每个元素调用
date()方法,提取纯日期部分。
注意事项
转换完成后,该列在pandas中的数据类型会显示为object——这是因为pandas没有专门为datetime.date类型提供对应Series类型,但你可以通过type(df['Date'].iloc[0])验证,每个元素确实是datetime.date对象。
内容的提问来源于stack exchange,提问作者Karush Kuhn Tucker
相关产品推荐
相关产品推荐

