繁体   English   中英

Python 正则表达式匹配组并替换

[英]Python regex match groups and replace

我有一个 pandas dataframe 带有以下示例数据


df = pd.DataFrame({'period': ['01_2022', '02_2022', '05_2023', '06_2024']})

我想要一张可以重新构图的表格


df = pd.DataFrame({'period': ['2022.01', '2022.02, 2023.05', '2024.06']})

有没有办法用 Python 中的正则表达式来做到这一点?

谢谢

这是我没有正则表达式的方式,但想用正则表达式来做:


(lambda row: ".".join(row.split('_')[::-1]))

我们可以使用str.replace如下:

df["period"] = df["period"].str.replace(r'^(\d{2})_(\d{4})$', r'\2.\1', regex=True)

另一种可能的解决方案,使用pandas.applyre.sub

import pandas as pd
import re 

df['period'] = (
  df['period']
  .apply(lambda x: re.sub(r"(\d{2})_(\d{4})", r"\2.\1", x)))

Output:

0    2022.01
1    2022.02
2    2023.05
3    2024.06
Name: period, dtype: object

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM