首页 > 解决方案 > 熊猫日期时间格式

问题描述

目前,我正在处理 220 万条记录。其中两列由membership_id和组成txn_time。数据框看起来像 -

membership_id          txn_time
 1                      2019-02-17 00:00:00.0
 2                      2018-04-23 00:00:00.0
 3                      2018-12-17 00:00:00.0
 4                      2019-02-17 00:00:00.0
 5                      2018-04-02 00:00:00.0
 6                      2018-09-10 06:20:58.0
 7                      2019-01-16 08:11:42.0

我希望数据框看起来像 -

membership_id          txn_time
 1                      2019-02-17 
 2                      2018-04-23 
 3                      2018-12-17 
 4                      2019-02-17 
 5                      2018-04-02 
 6                      2018-09-10
 7                      2019-01-16 

到目前为止我所做的 -

df_txn['TXN_DATE'] = pd.to_datetime(df_txn['txn_time'], errors='coerce')

但是,它不起作用,记录数量高达 220 万。

提前致谢。

标签: pythonpandaspython-datetime

解决方案


为了提高性能使用参数format,然后转换为不带times by 的日期dt.floor时间,如果以后需要通过 datetimelike 函数处理数据更好:

df_txn['TXN_DATE'] = pd.to_datetime(df_txn['txn_time'], 
                                    errors='coerce',
                                    format='%Y-%m-%d %H:%M:%S.%f').dt.floor('d')

或通过python dates dt.date,但得到object

df_txn['TXN_DATE'] = pd.to_datetime(df_txn['txn_time'], 
                                    errors='coerce',
                                    format='%Y-%m-%d %H:%M:%S.%f').dt.date

推荐阅读