Python 如何确定N个布尔列的逻辑真值?

Python 如何确定N个布尔列的逻辑真值?,python,pandas,Python,Pandas,我有一个管道,它对一个表执行分析,并添加额外的特性来对该行数据进行分类。在这个玩具箱中,我有一个具有[id,x,y,z]特征的表,我正在添加has_adj。我不知道如何确定N列的逻辑真值(即,调整搜索中的列数可能是N): 在轴上尝试+=1: df['has_adj'] = df.filter(like='has_adj_').any(axis=1) print(df) df: id x y z has_adj_0 has_adj_1 has_adj 0

我有一个管道,它对一个表执行分析,并添加额外的特性来对该行数据进行分类。在这个玩具箱中,我有一个具有
[id,x,y,z]
特征的表,我正在添加
has_adj
。我不知道如何确定N列的逻辑真值(即,调整搜索中的列数可能是N):

在轴上尝试+=1:

df['has_adj'] = df.filter(like='has_adj_').any(axis=1)

print(df)
df

    id     x     y     z  has_adj_0  has_adj_1  has_adj
0  AX1  10.0   Adj  <NA>       True      False     True
1  V0D   3.5  <NA>  <NA>      False      False    False
2  G7L   8.0  <NA>   Adj      False       True     True
id x y z has_adj_0 has_adj_1 has_adj
0 AX1 10.0调整为真为假为真
1 V0D 3.5错误
2 G7L 8.0调整错误-正确-正确

您的预期输出是什么?对不起。我只是补充一下。任何值T产生T,否则f当您使用
Any
函数时,是否?你在哪里受不了了?
df['has_adj'] = df.filter(like='has_adj_').any(axis=1)

print(df)
    id     x     y     z  has_adj_0  has_adj_1  has_adj
0  AX1  10.0   Adj  <NA>       True      False     True
1  V0D   3.5  <NA>  <NA>      False      False    False
2  G7L   8.0  <NA>   Adj      False       True     True