首先,我们需要安装Python中的正则表达式库re。在命令行或者jupyter notebook中输入以下命令进行安装:
!pip install re
接下来,我们需要对DataFrame中的日期列进行正则匹配并提取出日期。
假设我们有以下DataFrame:
import pandas as pd
data = {'日期': ['2022/05/01 13:45:00', '2022/05/02 14:30:00', '2022/05/03 15:15:00']}
df = pd.DataFrame(data)
其中,日期列的格式为年/月/日 时:分:秒。我们要从这个列中提取出日期部分。
我们可以使用Pandas的apply函数以及正则表达式的re模块来实现。具体步骤如下:
- 定义一个函数,使用正则表达式从字符串中提取出日期。
import re
def extract_date(string):
pattern = r'\d{4}/\d{2}/\d{2}'
match = re.search(pattern, string)
if match:
return match.group()
else:
return None
- 调用apply函数将列中每个元素传递给这个函数,并将结果添加到新的一列中。
df['提取日期'] = df['日期'].apply(extract_date)
此时,我们就可以得到一个新的DataFrame,其中包含了从日期列中提取出来的日期。完整代码如下:
import pandas as pd
import re
data = {'日期': ['2022/05/01 13:45:00', '2022/05/02 14:30:00', '2022/05/03 15:15:00']}
df = pd.DataFrame(data)
def extract_date(string):
pattern = r'\d{4}/\d{2}/\d{2}'
match = re.search(pattern, string)
if match:
return match.group()
else:
return None
df['提取日期'] = df['日期'].apply(extract_date)
print(df)
输出结果为:
日期 提取日期
0 2022/05/01 13:45:00 2022/05/01
1 2022/05/02 14:30:00 2022/05/02
2 2022/05/03 15:15:00 2022/05/03
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Regex从给定的Pandas DataFrame的指定列中提取日期 - Python技术站