在dataframe中,以下日期时间值保存为字符串日期:
ddf = dd.DataFrame({'date': ['15JAN1955:13:15:27.369', NaN,'25DEC1990:23:18:17.200', '06MAY1962:02:55:27.360', NaN, '20SEP1975:12:02:26.357']}
我使用了ddf['date'].apply(lambda x: datetime.strptime(x,"%d%b%Y:%H:%M:%S.%f"), meta=datetime)
,但是我得到了一个TypeError: strptime() argument 1 must be a str, not float
错误。
我遵循从这本书中分析日期的方式:用python和dask的数据科学。
.%f
是否期待一个浮点数?或者它可能与NaN
值有关?
发布于 2022-02-24 20:03:16
您可以使用%f
和parses any decimal fraction of seconds with up to 6 digits
同样,20SEPT1975
应该是20SEP1975
(月中没有T
)
import pandas as pd
import numpy as np
df = pd.DataFrame({'date': ['15JAN1955:13:15:27.369', np.nan,
'25DEC1990:23:18:17.200', np.nan,
'06MAY1962:02:55:27.360', '20SEP1975:12:02:26.357']})
df['date'] = pd.to_datetime(df['date'], format="%d%b%Y:%H:%M:%S.%f")
print(df)
date
0 1955-01-15 13:15:27.369
1 NaT
2 1990-12-25 23:18:17.200
3 NaT
4 1962-05-06 02:55:27.360
5 1975-09-20 12:02:26.357
https://stackoverflow.com/questions/71257558
复制相似问题