gpt4 book ai didi

python - 如何使用正则表达式从 Pandas 数据框中删除点号 : '(i)' , '(ii)' 、 '(iii)' ?

转载 作者:行者123 更新时间:2023-12-04 07:37:50 26 4
gpt4 key购买 nike

假设,我有一个 Pandas 数据框,其中包含多行产品名称和描述其各自功能的列。他们添加了一些编号系统,如 1., 2.,3.,... 或 a),b),c)....或 (i),(ii),(iii),... 等。现在我想在数据框中删除它们。

df.replace(regex=True, inplace=True, to_replace=r'["(i*)"|i*.|(a-zA-Z).|("("a-zA-z")")]', value=r'')
但代码不起作用。它从答案中删除所有 i,例如。考虑成为考虑,我可以删除 a., b.等等,如果我单独给出它,即 to_replace=r'[a.|b.|A.|B.] 但如果给出了模式,它就不起作用。
如何删除“(i)”、“(ii)”、“(iii)”和“(a)”、“(A)”、“a.”、“A.”范围从 A-Z 和 i 为一个或多个与正则表达式 Pandas 数据框?
例子
输入
(i) 母牛有四条腿。 (ii) 牛吃草。 (iii) 牛给我们牛奶。
或者
a.牛有四只脚。 b. 牛吃草。 c.牛给我们牛奶。
输出
牛有四只脚。牛吃草。牛给我们牛奶。

最佳答案

请你试试:

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]+匹配数字。

  • [).]匹配右括号或点。
  • 关于python - 如何使用正则表达式从 Pandas 数据框中删除点号 : '(i)' , '(ii)' 、 '(iii)' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67645592/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com