在 Pandas 系列中用逗号分隔大小写
Separating lower case and uppercase with a comma in Pandas Series
我有一个pandas系列
list_df = pd.Series(['KingsDuck',
'RangersIslandersDevils',
'Shark',
'Maple Leafs',
'Red Wing'])
display(list_df)
0 KingsDuck
1 RangersIslandersDevils
2 Shark
3 Maple Leafs
4 Red Wing
dtype: object
我想在小写字母和大写字母之间插入一个逗号。 (例如:'KingsDuck' 到 'Kings,Duck' 和 'RangersIslandersDevils' 到 'Rangers,Islanders,Devils')
我尝试了在线 python 正则表达式工具来测试我的正则表达式,它按预期工作:
regextesting
然而,当我在我的 Jupyter Notebook 中尝试正则表达式时,输出不是我所期望的:
list_df.replace(r'(([a-z])([A-Z]))',r',', regex=True)
0 KingsD,suck
1 RangersI,sslandersD,sevils
2 Shark
3 Maple Leafs
4 Red Wing
dtype: object
我该怎么做?
您的组太多,请删除外部括号。您有 ((a)(b))
,所以 </code> 是 <code>ab
,</code> 是 <code>a
,</code> 是 <code>b
。
list_df.replace(r'([a-z])([A-Z])',
r',', regex=True)
或者如果你真的想保留外部组:
list_df.replace(r'(([a-z])([A-Z]))',
r',', regex=True)
输出:
0 Kings,Duck
1 Rangers,Islanders,Devils
2 Shark
3 Maple Leafs
4 Red Wing
dtype: object
我有一个pandas系列
list_df = pd.Series(['KingsDuck',
'RangersIslandersDevils',
'Shark',
'Maple Leafs',
'Red Wing'])
display(list_df)
0 KingsDuck
1 RangersIslandersDevils
2 Shark
3 Maple Leafs
4 Red Wing
dtype: object
我想在小写字母和大写字母之间插入一个逗号。 (例如:'KingsDuck' 到 'Kings,Duck' 和 'RangersIslandersDevils' 到 'Rangers,Islanders,Devils')
我尝试了在线 python 正则表达式工具来测试我的正则表达式,它按预期工作: regextesting
然而,当我在我的 Jupyter Notebook 中尝试正则表达式时,输出不是我所期望的:
list_df.replace(r'(([a-z])([A-Z]))',r',', regex=True)
0 KingsD,suck
1 RangersI,sslandersD,sevils
2 Shark
3 Maple Leafs
4 Red Wing
dtype: object
我该怎么做?
您的组太多,请删除外部括号。您有 ((a)(b))
,所以 </code> 是 <code>ab
,</code> 是 <code>a
,</code> 是 <code>b
。
list_df.replace(r'([a-z])([A-Z])',
r',', regex=True)
或者如果你真的想保留外部组:
list_df.replace(r'(([a-z])([A-Z]))',
r',', regex=True)
输出:
0 Kings,Duck
1 Rangers,Islanders,Devils
2 Shark
3 Maple Leafs
4 Red Wing
dtype: object