Python 从列中提取部分值

Python 从列中提取部分值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个dataframe df,其中有一列名为“Results”。列的值如下所示: Results Movie passed 1 of 3 tests Movie passed 2 of 3 tests Movie passed 3 of 3 tests <empty string> Movie passed 1 of 3 tests 请注意,如果为空值,则它会将“0”放入。如何使用pandas实现此任务?您可以使用extract()方法并捕获单词传递后的数字,如果没有匹配项,则

我有一个dataframe df,其中有一列名为“Results”。列的值如下所示:

Results
Movie passed 1 of 3 tests
Movie passed 2 of 3 tests
Movie passed 3 of 3 tests
<empty string>
Movie passed 1 of 3 tests
请注意,如果为空值,则它会将“0”放入。如何使用pandas实现此任务?

您可以使用
extract()
方法并捕获单词
传递后的数字
,如果没有匹配项,则默认情况下返回
nan
,但您可以使用
fillna()
方法将
nan
替换为
0

df.Results.str.extract('passed ([0-9]+)').fillna(0)

#0    1
#1    2
#2    3
#3    0
#4    1
#Name: Results, dtype: object
df.Results.str.extract('passed ([0-9]+)').fillna(0)

#0    1
#1    2
#2    3
#3    0
#4    1
#Name: Results, dtype: object