繁体   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