Python 从列中提取部分值
我有一个dataframe df,其中有一列名为“Results”。列的值如下所示: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()方法并捕获单词传递后的数字,如果没有匹配项,则
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