簡體   English   中英

根據多個列中至少有一個是否包含列表中的值這一事實創建新列(Python,熊貓)

[英]creating new column based on the fact whether at least 1 of multiple columns contains value from the list (Python, pandas)

我正在嘗試根據 N 列中是否至少有一個包含列表中的值這一事實創建一個具有 True/Falses 或 1/0 的列

我通過以下方式進行

list = ['apple', 'banana', 'orange']
df['new'] = df['One'].isin(mylist) | df['Two'].isin(mylist).... |df['N'].isin(mylist) 

如果 N 列中至少有一個包含值,是否有更快的方法來編寫條件來評估我在新列中有“真”?

我試着做

cols = ['One',...'N']
df['new'] = df[cols].isin(mylist)

但它不起作用

你很接近,需要DataFrame.any來測試每行是否至少有一個True

df['new'] = df[cols].isin(mylist).any(axis=1)

暫無
暫無

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

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