Pandas中列表推导式可用lambda函数无法实现十进制年份转datetime问题
问题原因
你定义的convert_partial_year仅支持处理单个十进制年份数值,而lambda表达式中传入的x.dec_date是完整的Pandas Series(整列数据),函数无法直接对整个Series执行int(number)、timedelta计算这类单值逻辑,因此运行报错。
正确lambda实现方案
在lambda内调用Series的apply方法,逐行传入转换函数即可,和你原有列表推导的逐元素处理逻辑完全一致:
df.assign( date = lambda x: x.dec_date.apply(convert_partial_year) )
内容的提问来源于stack exchange,提问作者displayname123
相关产品推荐
相关产品推荐

