Py学习  »  Python

用python从pandas的DataFrame中获取日期模式

divya • 3 年前 • 1362 次点击  

我有一个csv文件,其中包含不同类型的日期格式。如何使用带有out for循环的正则表达式来获取模式。

0        1/7/2022
1        1/8/2022
2      Jan/9/2022
3       1/10/2022
4      25/11/2022
5       1/12/2022
6       21/9/2022
7       1/14/2022
8       1/15/2022
9     May/16/2022
10      7/17/2022
11      1/18/2022

我需要从这个文件中获取图案。“我不想。改变。也改变格式”

我试过这种形式

df_date['Date ']=df_date['Date '].astype(str).replace([r'\d{1,2}[/-]\d{1,2}[/-]\d{2,4}'], 'D', regex=True)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133748
 
1362 次点击  
文章 [ 1 ]  |  最新文章 3 年前
mozway
Reply   •   1 楼
mozway    3 年前

熊猫其实很擅长自动地解决这个问题。 使用 pandas.to_datetime 不指定格式。仅确定不明确的日期是否为第一天(例如,1/7可能是7月1日或1月7日)。

pd.to_datetime(df['date'], errors='coerce', dayfirst=True)

输出:

0    2022-07-01
1    2022-08-01
2    2022-01-09
3    2022-10-01
4    2022-11-25
5    2022-12-01
6    2022-09-21
7    2022-01-14
8    2022-01-15
9    2022-05-16
10   2022-07-17
11   2022-01-18
12          NaT
Name: date, dtype: datetime64[ns]