检索熊猫中的行值

时间:2019-02-03 18:42:11

标签: python pandas data-cleaning

我有一个包含两列的数据框

iconv('utf-8', 'utf-8//IGNORE',$str);

我想以这种格式从行中获取数据

countries                       data
United states of america(USA)    1
india13                          2

简而言之,我想按括号和数字过滤索引。如果它包含其中之一,那么我想从行标签中删除括号和数字。我该怎么做?

2 个答案:

答案 0 :(得分:4)

使用str.extract,正则表达式从字符串中提取所有字母,直到遇到括号

df.countries = df.countries.str.extract('([A-Za-z ]+)\(?', expand = False)

    countries                   data
0   Unites states of america    1
1   india                       2

答案 1 :(得分:1)

您可以使用str.replace来删除数字和括号以及其中的文本:

df.loc[:,'countries'] = df.countries.str.replace(r'[0-9]|\(.*\)','', regex=True)

            countries         data
0  Unites states of america     1
1                     india     2