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