【发布时间】:2019-08-25 23:14:05
【问题描述】:
从数据中提取日、月、年、小时、工作日、日月年,然后放入列中
数据列:
+----------------------+
| Date |
+----------------------+
| '11/28/17 00:36 ' |
| '11/28/17 01:15 AM' |
| 'abc' |
| 11/28/17 01:28 ' |
| 'pqr' |
+----------------------+
目标:
+-----+-------+------+---------+------+-----------------+
| Day | Month | Year | Weekday | Hour | Day_month_year |
+-----+-------+------+---------+------+-----------------+
| 28 | Nov | 2017 | Tue | 00 | 2017-11-28 |
| 28 | Nov | 2017 | Tue | 01 | 2017-11-28 |
| Nan | Nan | Nan | Nan | Nan | Nan |
| 28 | Nov | 2017 | Tue | 01 | 2017-11-28 |
| Nan | Nan | Nan | Nan | Nan | Nan |
+-----+-------+------+---------+------+-----------------+
代码:
df['datetime'] = pd.to_datetime(df['Date'],infer_datetime_format=True,errors='coerce')
df['Day'] = df['datetime'].dt.strftime('%d')
df['Month'] = df['datetime'].dt.strftime('%b')
df['Year'] = df['datetime'].dt.strftime('%Y')
df['WeekDay'] = df['datetime'].dt.strftime('%a')
df['Hour'] = df['datetime'].dt.strftime('%H')
df['Day_month_year'] = pd.to_datetime(df['datetime']).dt.to_period('D')
这些代码行需要很长时间,因为我的 Date 列没有特定的数据格式,并且几乎没有无法解析为 datetime 的值。是否有更快的方法来执行此操作,因为我的 Date 列有近 40k 条记录。
【问题讨论】:
-
在初始化数据框时尝试转换为日期时间。 stackoverflow.com/questions/51392909/…
标签: python pandas datetime optimization