我有一个DataFrame df
,它有100列。这些列的最后5个采用二进制值。我想查找最后五列的所有行:0、1、0、1、1。
我可以通过and
设置以下条件来做到这一点:
df[(df.col95 == 0) & (df.col96 == 1) ...]
,但我敢肯定有更好的方法,而且我不想命名这些列。
df[df.apply(lambda row: tuple(row[-5:]) == (0, 1, 0, 1, 1))]
但是出现Unalignable Boolean series provided as indexer
错误。有什么建议可以做到这一点?
谢谢!
答案 0 :(得分:1)
您可以在此处使用merge
df.merge(pd.DataFrame([[0,1,0,1,1]],columns=df.columns[-5:]))