[英]Extract a part of values from a column
我有一個數據幀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
我想創建一個新列,它提取電影傳遞的測試數量。 在上面的例子中,名為new_results的新列應該具有以下值:
new_results
1
2
3
0
1
請注意,如果為空值,則將“0”置為“0”。 如何使用pandas完成此任務?
您可以使用extract()
方法並捕獲單詞passed
后的數字,如果沒有匹配,則默認返回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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.