假设我有一个熊猫数据表,它包含许多行的产品名称和描述它们各自特性的列。他们增加了一些编号系统,比如1,2,3.或( a),b),c)....or (i),(ii),(iii),.等等,现在我想在数据帧中删除它们。
df.replace(regex=True, inplace=True, to_replace=r'["(i*)"|i*.|(a-zA-Z).|("("a-zA-z")")]', value=r'')但代码不起作用。它从答案中删除了我所有的内容。考虑变得同意,我可以删除a,b,等等,如果我单独给它,例如,to_替换=r‘a,x,b,x,b。但如果给出了模式,它就无效了。
我如何删除“(I)”、“(Ii)”、“(Iii)”及“(A)”、“(A)”、“a”、“A”。范围从A-Z和我的一个或多个与regex熊猫数据?
示例
输入
牛有四条腿。(二)牛吃草。(三)牛给我们牛奶。
或
a.The牛有四条腿。b.The牛吃草。c.Cow给我们牛奶。
输出
这头牛有四条腿。牛吃草。奶牛给我们牛奶。
发布于 2021-05-22 03:44:55
请您试一下:
df.replace(regex=True, inplace=True, to_replace=r'^\(?(?:[ivxlcdm]+|[a-zA-Z]+|[0-9]+)[).]', value='')输入:
(i) The cow has four legs.
(ii) The cow eats grass.
(iii) Cow gives us milk.
a.The cow has four legs.
b.The cow eats grass.
c.Cow gives us milk.
1.The cow has four legs.
2.The cow eats grass.
3.Cow gives us milk.
a)The cow has four legs.
b)The cow eats grass.
c)Cow gives us milk.输出:
The cow eats grass.
Cow gives us milk.
The cow has four legs.
The cow eats grass.
Cow gives us milk.
The cow has four legs.
The cow eats grass.
Cow gives us milk.
The cow has four legs.
The cow eats grass.
Cow gives us milk.正则表达式^\(?(?:[ivxlcdm]+|[a-zA-Z]+|[0-9]+)[).]的解释
^表示字符串的开始。\(?匹配一个零或一个左括号。(?:[ivxlcdm]+|[a-zA-Z]+|[0-9]+)可以被分解为:之一[ivxlcdm]+,与罗马数字相匹配。[a-zA-Z]+。[0-9]+。[).]匹配右括号或点。https://stackoverflow.com/questions/67645592
复制相似问题