我有一个这样的数据框
A Date
'a' "0"
"b" "2019-08-13T16:16:59.000Z"
"c" -
"d" "'2019-01-10T07:31:56"
"e" "2019-05-03T08:12:09.000Z"
"f" "0"
"g" -
我想在将它们更改为所需格式后导出到 Excel,为此我正在使用下面的函数。
def time_str_to_date(utc: str):
try:
timecheck = datetime.datetime.strptime(utc,'%Y-%m-%d %H:%M:%S')
except ValueError:
try:
timecheck = datetime.datetime.strptime(utc,'%Y-%m-%d %H:%M:%S.%f')
except ValueError:
try:
timecheck = datetime.datetime.strptime(utc,'%Y-%m-%dT%H:%M:%S')
except ValueError:
try:
timecheck = datetime.datetime.strptime(utc,'%Y-%m-%dT%H:%M:%S.%f')
except ValueError:
try:
timecheck = datetime.datetime.strptime(utc,'%Y-%m-%d')
except ValueError:
timecheck = datetime.datetime.strptime(utc,'%Y-%m-%dT%H:%M:%S.%fZ')
return timecheck
我的问题是我正在使用以下应用格式,但它给我错误 “时间数据‘NaT’与格式‘%Y-%m-%dT%H:%M:%S.%fZ’不匹配”
df['date']=df['date'].apply(lambda x:pd.NaT if x=='0' else x)
df['date'] = df['date'].apply(lambda x:time_str_to_date(str(x)) if x!='NaT' else x)
最佳答案
to_datetime
和 errors='coerce'
会做:
pd.to_datetime(df.Date, errors='coerce')
输出:
0 NaT
1 2019-08-13 16:16:59+00:00
2 NaT
3 2019-01-10 07:31:56
4 2019-05-03 08:12:09+00:00
5 NaT
6 NaT
Name: Date, dtype: object
关于python-3.x - 如何在此 DataFrame 上应用函数以将日期更改为所需格式并避免 '0' 和 '-',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60836537/