python - pandas to_datetime 将日期时间字符串转换为 0
问题描述
我在 a 中有一个df
包含datetime
字符串的列,
inv_date
24/01/2008
15/06/2007 14:55:22
08/06/2007 18:26:12
15/08/2007 14:53:25
15/02/2008
07/03/2007
13/08/2007
我使用pd.to_datetime
with format%d%m%Y
将字符串转换为datetime
值;
pd.to_datetime(df.inv_date, errors='coerce', format='%d%m%Y')
我有
inv_date
24/01/2008
0
0
0
15/02/2008
07/03/2007
13/08/2007
inv_date
该格式是从最常见的日期时间格式推断出来的;我想知道如何不将15/06/2007 14:55:22
, 08/06/2007 18:26:12
,转换15/08/2007 14:53:25
为 0,但是15/06/2007
, 08/06/2007
, 15/08/2007
.
解决方案
使用常规pd.to_datetime
调用,然后使用.dt.date
:
>>> pd.to_datetime(df.inv_date).dt.date
0 2008-01-24
1 2007-06-15
2 2007-08-06
3 2007-08-15
4 2008-02-15
5 2007-07-03
6 2007-08-13
Name: inv_date, dtype: object
>>>
或者正如@ChrisA 提到的,您也可以使用,唯一的问题是熊猫格式已经很好,所以跳过了那部分:
>>> pd.to_datetime(df.inv_date.str[:10], errors='coerce')
0 2008-01-24
1 2007-06-15
2 2007-08-06
3 2007-08-15
4 2008-02-15
5 2007-07-03
6 2007-08-13
Name: inv_date, dtype: object
>>>
推荐阅读
- javascript - 从 Node.js 中的 shell 命令获取数据/输出
- php - 我怎样才能禁止某些数字检查机器人
- python - Python 主机游戏
- laravel - Laravel 在运行“RefreshDatabase”特征时不是指测试数据库而是测试本地数据库
- r - 如何在监视器函数中定义一个实时全局变量并在闪亮的应用程序中呈现它?
- reactjs - 未使用 apollo-client、apollo-server 和 express-session 设置 Cookie
- linux - 填写命令输入
- sql-server - 如何从范围查询?
- c++ - 构建项目时如何让 BOOST 单元测试运行
- java - 如何处理来自@Entity 类上定义的 Java Spring Data JPA @NamedStoredProcedureQuery 的 2 个 OUT 用户定义的自定义数据类型?