Pandas 日期时间格式
Pandas date time format
目前,我正在处理 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 万。
提前致谢。
为了提高性能使用参数 format
,然后通过 dt.floor
转换为没有 time
s 的日期时间,如果以后需要通过 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 date
s by 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
这个 lambda 函数可以帮助您在不使用 datetime 库的情况下解决问题。
df['txn_time'] = df['txn_time'].apply(lambda x:x.split()[0])
目前,我正在处理 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 万。
提前致谢。
为了提高性能使用参数 format
,然后通过 dt.floor
转换为没有 time
s 的日期时间,如果以后需要通过 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 date
s by 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
这个 lambda 函数可以帮助您在不使用 datetime 库的情况下解决问题。
df['txn_time'] = df['txn_time'].apply(lambda x:x.split()[0])