加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 删除数据框的侧括号中的内容

发布时间:2020-12-20 11:53:10 所属栏目:Python 来源:网络整理
导读:我试图使用以下代码删除数据框中所有列的括号内的所有内容.但我无法弄清楚这是否正确.任何帮助都非常感谢 def clean_text(data): if data.find('(')!=-1: st=data[data.find("(") + 1:data.find(")")]) data.replace(st,'') # cant use this return data.low
我试图使用以下代码删除数据框中所有列的括号内的所有内容.但我无法弄清楚这是否正确.任何帮助都非常感谢

def clean_text(data):
     if data.find('(')!=-1:
         st=data[data.find("(") + 1:data.find(")")])
         data.replace(st,'')  # cant use this
     return data.lower()


no_dup_cols = no_dup.columns.values
for col in no_dup_cols:
    no_dup[col] = no_dup[col].apply(clean_text)

解决方法

循环列和 replace的解决方案:

import pandas as pd

data = pd.DataFrame({'A':['(1)','2','3'],'B':['(B) 77','s gg','d'],'C':['s','(d) 44','f']})

print (data)
     A       B       C
0  (1)  (B) 77       s
1    2    s gg  (d) 44
2    3       d       f

for col in data:
    data[col] = data[col].str.replace(r'(.*)','')
print (data)
   A     B    C
0       77    s
1  2  s gg   44
2  3     d    f

列表理解和concat的解决方案:

data = pd.concat([data[col].str.replace(r'(.*)','') for col in data],axis=1)
print (data)
   A     B    C
0       77    s
1  2  s gg   44
2  3     d    f

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读