[英]Return True if any number is even inside a list else return false
[英]If any value in list_1 is in df['1'], then return False, else return True
我做了一個 for 循環說“如果 non_chain 中的任何值在 df['DBA'] 中,則返回 False,否則返回 True”。 non_chain 是餐廳名稱列表,df['DBA'] 是餐廳名稱列。 這個循環會讓我知道餐廳是否是連鎖店。
我會將這個新創建的列表“o”從 for 循環轉換為 df 中的一列。
問題:它返回所有 False,我不知道為什么。
o = []
for x in df['DBA']:
if any(n in x for n in non_chain):
o.append(False)
else:
o.append(True)
print(o)
您描述的問題似乎應該用更簡單的方法解決
o = [name not in non_chains for name in df["DBA"]]
當n in x
和x
都是 Python 中的字符串時,x 中的n
表示 substring 包含
您可以使用grepl
:
library(data.table)
df <- data.table(X = c("A","C","G","G","X"))
non_chain <- c('X', 'C')
check_available <- function(i, lst){
return(any(grepl(i, x = non_chain)))
}
df[, flag := lapply(X, function(x) check_available(x, non_chain))]
print(df)
X flag
1: A FALSE
2: C TRUE
3: G FALSE
4: G FALSE
5: X TRUE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.