python - pandas 从单元格中删除重复项

标签 python regex pandas

我需要删除单元格中的重复数字重复单元格中的百分号

我有两个输入:

输入1-

  1. 51%
  2. 4% %
  3. (0.9%)
  4. 53%
  5. 44%
  6. 29%

Name: Paid Loss Ratio , dtype: object

要求的输出1:

  1. 51
  2. 4
  3. -0.9
  4. 53
  5. 44
  6. 29

Name: Paid Loss Ratio , dtype: object

以下脚本适用于这种情况:

f1['付费损失率'].str.split('%').apply(set).str.join('').str.rstrip()

尝试删除重复的“% sign in one cell”

输入2 -

  1. >
      88 % 
    
  2. >
     102 % 
    
  3. 84 84%
  4. >
      ( 0.8 %
    
  5. >
      93 % 
    

名称:Constant Loss Ratio,dtype:object

要求的输出2:

  1. 88%
  2. 102%
  3. 84%
  4. -0.8%
  5. 93%

正在尝试以下操作但无法正常工作:

re.sub(r'([0-9])(.*)\1+', r'\1', str(ab))

尝试删除一个单元格中重复的“84”数字

还有办法合并这两个脚本/模式吗?

最佳答案

您对第一个输入的要求与输出不匹配,因为您似乎只想删除双百分号?如果我是对的,我想你可以使用:

(\S+)(?=\s\1)\s

在线查看demo


示例 Python 脚本可以是:

df = df.replace(r'(\S+)(?=\s\1)\s','', regex=True)

打印:

0    51 %
1     4 %
2     9 %
3    53 %
4    44 %
5    29 %
6    88 %
7   102 %
8    84 %
9     Nan
10   93 %

关于python - pandas 从单元格中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62952915/

相关文章:

python - 如何将列表与数据框的列进行比较,并在数据框列和列表之间的元素匹配时从列表中删除元素?

python - 使用深度信息处理图像

python - 在python中添加范围

regex - 在 url 重写中追加文档根目录

javascript - 正则表达式过滤掉某些字符组

java - 无法弄清楚为什么这个正则表达式不起作用(多行带有 "starts with"限定符的文本)

python - Pandas : Replace NaNs with mean of 'n' nearest non-empty values in column

python - 根据多列中的值创建新的数据框列

python - 如何将 @retry 与关键字参数一起使用并传递函数

python - 使用 Visual Studio Code 和 autopep8 导入前允许语句