在Pandas形列中的字符之间插入连字符

djp7away  于 2023-03-06  发布在  其他
关注(0)|答案(3)|浏览(154)

考虑以下数据框

pd.DataFrame.from_dict({'col_1': ["abcdefg", "hellowworld", "stackoverflow", "thankyou"]})

我想在每4个字符后添加一个连字符
所需输出为

pd.DataFrame.from_dict(data = {'col_1': ["abcd-efg", "hell-owwo-rld", "stac-kove-rflo-w", "than-kyou"]})
qco9c6ql

qco9c6ql1#

使用添加的-将以前的每个组替换为自身

df['col_2'] =df['col_1'].str.replace(r'(\w{4})',r'\1-',regex=True).str.strip('\-')

        col_2
0        abcd-efg
1    hell-owworld
2  stac-koverflow
3       than-kyou

还是你想

df['col_2'] =df['col_1'].str.replace(r'(\w{4})',r'\1-',regex=True).str.strip('\-')

        col_1             col_2
0        abcdefg          abcd-efg
1    hellowworld     hell-owwo-rld
2  stackoverflow  stac-kove-rflo-w
3       thankyou        than-kyou
nnvyjq4y

nnvyjq4y2#

您可以在此处使用str.replace

df["col_1"] = df["col_1"].str.replace(r'(?<=^.{4})', r'-')
mefy6pfw

mefy6pfw3#

@wwnde建议的执行第一个方法的更新方法

df['col_2'] =df['col_1'].str.replace(r'^(\w{4})',r'\1-',regex=True).str.strip('-')

相关问题