Python 熊猫:如何检查列值是否在同一行的其他列中

Python 熊猫:如何检查列值是否在同一行的其他列中,python,pandas,Python,Pandas,我有一个熊猫数据框,格式如下: col1 col2 col3 col4 col5 A A B Z X B A Z Z X A A C Z X C A C D X D A B D X 如何筛选col1中的值位于col2、col3或col4中的行(忽略col5) 我尝试了以下几点: df = df[df[['col2', 'col3', 'col4']].isin(['col1'

我有一个熊猫数据框,格式如下:

col1 col2 col3 col4 col5
A    A    B    Z    X
B    A    Z    Z    X
A    A    C    Z    X
C    A    C    D    X
D    A    B    D    X
如何筛选
col1
中的值位于
col2
col3
col4
中的行(忽略
col5

我尝试了以下几点:

df = df[df[['col2', 'col3', 'col4']].isin(['col1'])]
但是得到一个空的数据帧

预期产出将是:

col1 col2 col3 col4 col5
A    A    B    Z    X
A    A    C    Z    X
C    A    C    D    X
D    A    B    D    X
是一个选项,用于按行获取相等值,然后检查轴1上是否有
True

过滤的

  col1 col2 col3 col4 col5
0    A    A    B    Z    X
2    A    A    C    Z    X
3    C    A    C    D    X
4    D    A    B    D    X

检查
任何值是否与第1列中的值相等(
eq
)。支持轴参数

m = df[['col2', 'col3', 'col4']].eq(df['col1'], axis=0).any(1)
df[m]

  col1 col2 col3 col4 col5
0    A    A    B    Z    X
2    A    A    C    Z    X
3    C    A    C    D    X
4    D    A    B    D    X

通过添加
any

df = df[df[['col2', 'col3', 'col4']].isin(df['col1']).any(1)]
df
Out[135]: 
  col1 col2 col3 col4 col5
0    A    A    B    Z    X
2    A    A    C    Z    X
3    C    A    C    D    X
4    D    A    B    D    X

你能发布预期输出吗?谢谢!它起作用了!
df = df[df[['col2', 'col3', 'col4']].isin(df['col1']).any(1)]
df
Out[135]: 
  col1 col2 col3 col4 col5
0    A    A    B    Z    X
2    A    A    C    Z    X
3    C    A    C    D    X
4    D    A    B    D    X