[英]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.apply
和re.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.