python-3.x - 如何在此 DataFrame 上应用函数以将日期更改为所需格式并避免 '0' 和 '-'

标签 python-3.x pandas

我有一个这样的数据框

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 

我的问题是我正在使用以下应用格式,但它给我错误 “时间数据‘Na​​T’与格式‘%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_datetimeerrors='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/

相关文章:

Python-将值附加到列表列表中的每个子列表

python - 是 lambda :function() inside the same function considered recursive?

python - Pandas:将逗号分隔的列转换为多列

python - IPython:如何为每次迭代保存 timeit 值

Python DataFrames For 循环与 If 语句不起作用

python - 对一列执行累积总和,但如果总和在 Pandas 中变为负数,则重置为 0

python - 从 pandas 中特定列的 DF 中提取最大值、最小值或标准差

python - 使用线性插值填充时间戳 NaT

python - 检查两个人是否通过 friend 联系

python - 计算网络中所有可能配对的连接总和