簡體   English   中英

從列中提取值的一部分

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM