首页 > 解决方案 > 如何在 python 数据框中将格式为 43004 的字符串转换为日期?

问题描述

我需要将数据框中的字符串转换为日期。但有时是空单元格,其余单元格的格式类似于 43004。(数据来自 excel)

我试过这个

import datetime
import pandas as pd
import numpy as np
OutputDataSet1['Previous_Received_Date'] = OutputDataSet1['Previous_Received_Date'].apply(lambda x:  datetime.datetime(1899, 12, 30) + datetime.timedelta(days=  datetime.datetime(1899, 12, 30) + datetime.timedelta(days= OutputDataSet1['Previous_Received_Date']) if not pd.isnull(x) else np.nan)

ValueError:无法将浮点 NaN 转换为整数

数据框中的行看起来像这样

nan
nan
43125.00000
nan
nan
43129,00000
nan 

有更多的5000行,我不知道有多少是nan,有多少是number。

其他选项是直接在 excel 中更改格式,但我必须使用 python 来完成。我不知道怎么做到的。

标签: pythondatetimelambdaformatapply

解决方案


推荐阅读