2016-11-28 3 views
3

"結果"という列の1つを持つデータフレーム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 
関連する問題