簡體   English   中英

如果大熊貓包含條件為真,如何返回值(數字)?

[英]How to return a value (number) if pandas contains condition is true?

如果包含條件為true,如何單獨返回一個值?

searchfor = ['dormant', 'open']]
flag_one = []
flag_one = data['Status'].str.contains('|'.join(searchfor), na=False)

現在,如果找到則返回“ True”,如果找不到則返回“ False”。 如何為“ True”和“ False”分配一個(數字)值?

使用map

data['Status'].str.contains('|'.join(searchfor), na=False).map({True:111,False:222})

我想這就是你想要的

if data['Status'].str.contains('|'.join(searchfor), na=False):
   flag_one = 1.0
else:
   flag_one = -1.0

在評估您的狀況后,只需重新分配flag_one

if flag_one:
    flag_one = 3 # or any value you want for True
else:
    flag_one = 34 # or any value you want for False

或者,您可以進入contains函數的源代碼並對其進行更改,但我不建議這樣做。

使用numpy.where

searchfor = ['dormant', 'open']
x = 10
y = 20
data['new_column'] = numpy.where(data['Status'].isin(searchfor),x,y)

當狀態為休眠或打開時, new_column將包含10,否則將包含20。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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