获取 True/False 数据帧中不符合条件的行的布尔列表

Get True/False boolean list of row in pandas dataframe out of condition

我正在使用几个 Pandas DataFrame,我需要以下过滤:

假设我得到一个像

这样的列表
L=['EP6','EP3','EP2']

我需要获取一行的以下向量:

对于行概念 1,当列索引在 L 中时为真,否则为假。

我正在尝试:

# D being the DataFrame
L=['EP6', 'EP3','EP2']
[True for ind in D.columns if ind in L ]

但只得到[True,True,True] 我需要完整的列表,例如:

desire_result=[0,0,0,0,1,0,0,1,1,0]

注意:请注意,期望结果中的 1 与 Dataframe 填充的 1 没有任何关系。

谢谢

你在这里创建了一个过滤器,在给定ind in L的情况下,你产生了True,否则,你没有产生一个元素。

您在这里想要执行映射。你仍然可以使用列表理解,但是你应该把条件放在 yield 部分:

[<b>ind in L</b> for ind in D.columns]

或者如果你想要整数:

[<b>int(</b>ind in L<b>)</b> for ind in D.columns]

我们 isinpandas

D.columns.isin(L)