2016-11-28 1 views
3

"결과"라는 열 중 하나가있는 데이터 프레임 df가 있습니다. 해당 열의 값은 다음과 같습니다. -열에서 값의 일부를 추출합니다.

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 

전달 된 테스트의 수를 추출하는 새로운 열을 만들고 싶습니다. 이 null 값의 경우 '0'을두고 있습니다

new_results 
1 
2 
3 
0 
1 

: 위의 경우, 새 열라고 new_results 같은 값을 가져야한다. 팬더를 사용하여이 작업을 어떻게 수행합니까?

답변

2

당신은 extract() 방법을 사용할 수 있습니다 아무것도 일치하지 않는 경우, 그것은 기본적으로 nan을 반환하지만 바꿀 fillna() 방법을 사용, 단어 passed 후 자리를 캡처 nan0과 :

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

#0 1 
#1 2 
#2 3 
#3 0 
#4 1 
#Name: Results, dtype: object 
관련 문제