我正在尝试搜索多个列,现在我得到了结果,但如果有匹配的话,我真的只需要一个 true/false 。有没有办法做到这一点?这是一个示例:import pandas as pdimport numpy as npdf = pd.DataFrame(np.random.rand(10000, 5)*10, columns=list('ABCDE')).astype(int)df A B C D E0 1 9 2 9 21 5 2 1 6 22 8 6 9 8 53 0 6 8 5 54 1 2 4 8 4... ... ... ... ... ...9995 9 3 4 9 09996 2 4 1 3 79997 4 5 2 4 99998 7 5 0 3 29999 3 5 0 5 710000 rows × 5 columnsdf[((df['A'] == 0) & (df['B'] == 1))]A B C D E5 0 1 7 0 6105 0 1 2 5 9375 0 1 0 0 3688 0 1 8 0 9770 0 1 7 9 5... ... ... ... ... ...9706 0 1 1 7 49710 0 1 4 4 99789 0 1 3 4 39810 0 1 1 1 59987 0 1 2 3 389 rows × 5 columns如果结果存在于数据框中,我可以获得 true 或 false,而不是获取数据匹配的行?
1 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
您的(df['A'] == 0) & (df['B'] == 1)
相当于较短的:df[['A','B']].eq([0,1]).all(1)
。
如果结果存在,你的问题我可以得到 true 或 false相当于检查该系列中的任何True
. 那么您是否正在寻找:
((df['A'] == 0) & (df['B'] == 1)).any()
或者:
df[['A','B']].eq([0,1]).all(1).any()
- 1 回答
- 0 关注
- 118 浏览
添加回答
举报
0/150
提交
取消