栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何将字符串转换为具有null的datetime-python,pandas?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何将字符串转换为具有null的datetime-python,pandas?

只需使用

to_datetime
并设置
errors='coerce'
为处理达芙数据:

In [321]:df['Date'] = pd.to_datetime(df['Date'], errors='coerce')dfOut[321]:      Date0 2014-10-20 10:44:311 2014-10-23 09:33:462      NaT3 2014-10-01 09:38:45In [322]:df.info()<class 'pandas.core.frame.Dataframe'>Int64Index: 4 entries, 0 to 3Data columns (total 1 columns):Date    3 non-null datetime64[ns]dtypes: datetime64[ns](1)memory usage: 64.0 bytes

调用的问题

strptime
是,如果字符串或dtype不正确,它将引发错误。

如果您这样做,那么它将起作用:

In [324]:def func(x):    try:        return dt.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')    except:        return pd.NaTdf['Date'].apply(func)Out[324]:0   2014-10-20 10:44:311   2014-10-23 09:33:462        NaT3   2014-10-01 09:38:45Name: Date, dtype: datetime64[ns]

但是使用内置

to_datetime
而不是调用会更快,
apply
后者实际上只是循环播放您的系列。

时机

In [326]:%timeit pd.to_datetime(df['Date'], errors='coerce')%timeit df['Date'].apply(func)10000 loops, best of 3: 65.8 µs per loop10000 loops, best of 3: 186 µs per loop

我们在这里看到使用

to_datetime
速度快了3倍。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669145.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号