Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检索pandas中的行值_Python_Pandas_Data Cleaning - Fatal编程技术网

Python 检索pandas中的行值

Python 检索pandas中的行值,python,pandas,data-cleaning,Python,Pandas,Data Cleaning,我有一个数据框,它有两列 countries data United states of america(USA) 1 india13 2 我想以这种格式从行中获取数据 countries data United states of america 1 india 2 简言之,我想按参

我有一个数据框,它有两列

countries                       data
United states of america(USA)    1
india13                          2
我想以这种格式从行中获取数据

countries                       data
United states of america        1
india                           2

简言之,我想按参数和数字筛选索引。如果它包含这两个参数中的任何一个,那么我想从行标签中删除括号和数字。我该怎么做?

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

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

    countries                   data
0   Unites states of america    1
1   india                       2

您可以使用
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