Python 查找数据帧中具有二进制值的可用值列表
我有一个Python 查找数据帧中具有二进制值的可用值列表,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧,如下所示: session p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 0 1 1 0 0 1 1 0 1 0 1 0 1 2 1 0 0 0 1 0 1 0 1 1 2 3 1 0 1 0 1 0 0 0 1 0 3 4 0 1 1 1
数据帧
,如下所示:
session p1 p2 p3 p4 p5 p6 p7 p8 p9 p10
0 1 1 0 0 1 1 0 1 0 1 0
1 2 1 0 0 0 1 0 1 0 1 1
2 3 1 0 1 0 1 0 0 0 1 0
3 4 0 1 1 1 0 1 0 1 0 0
4 5 1 1 0 0 1 0 1 1 1 1
5 6 0 0 1 0 1 1 0 1 0 0
6 7 1 1 0 1 0 1 0 0 1 0
7 8 1 0 0 0 1 0 1 1 1 1
8 9 0 1 1 0 1 0 1 0 0 0
9 10 1 1 0 1 0 1 0 1 1 0
我有如下列表值
listvals = ['p1','p5','p9']
我想要的是得到
>>> df.session[df[listvals].sum(axis=1) == len(listvals)]
0 1
1 2
2 3
4 5
7 8
Name: session, dtype: int64
>>> df.session[df[listvals].sum(axis=1) >= 2]
0 1
1 2
2 3
4 5
6 7
7 8
9 10
Name: session, dtype: int64
>>> df.session[df[listvals].sum(axis=1) <= 1]
3 4
5 6
8 9
Name: session, dtype: int64
>df.session[df[listvals].sum(axis=1)=len(listvals)]
0 1
1 2
2 3
4 5
7 8
名称:会话,数据类型:int64
>>>会话[df[listvals].sum(轴=1)>=2]
0 1
1 2
2 3
4 5
6 7
7 8
9 10
名称:会话,数据类型:int64
>>>session[df[listvals].sum(axis=1):非常感谢您的解释!效果很好!