Python 数据帧:如果列A、B或C中的行包含“;x”;或;“y”;,写入“;z”;到新专栏

Python 数据帧:如果列A、B或C中的行包含“;x”;或;“y”;,写入“;z”;到新专栏,python,pandas,dataframe,contains,Python,Pandas,Dataframe,Contains,与这个问题非常相似: 我想知道一行在多个不同的列中是否包含“x”或“y”,然后将“z”输出到一个新列 输入: A B C Cat Dog Pig Monkey Tiger Cat Cow Sheep Goat 如果“猫”或“老虎”或“狮子”-输出1到新列 输出 A B C CAT FAMILY Cat Dog Pig 1 Monkey Tiger

与这个问题非常相似:

我想知道一行在多个不同的列中是否包含“x”或“y”,然后将“z”输出到一个新列

输入:

A        B        C
Cat      Dog     Pig
Monkey   Tiger   Cat
Cow      Sheep   Goat
如果“猫”或“老虎”或“狮子”-输出1到新列

输出

A        B        C       CAT FAMILY
Cat      Dog     Pig          1
Monkey   Tiger   Cat          1
Cow      Sheep   Goat         0

isin
any
astype一起使用

In [298]: cat_family = ["Cat", "Tiger", "Lion"]

In [303]: df['CAT_FAMILY'] = df.isin(cat_family).any(1).astype(int)

In [304]: df
Out[304]:
        A      B     C  CAT_FAMILY
0     Cat    Dog   Pig           1
1  Monkey  Tiger   Cat           1
2     Cow  Sheep  Goat           0

干杯,非常干净