我想要做的事情是:
1- 将数据框按照两个列进行分组
2- 从每个组中检查一列的值是否不在组中的另一列中。
结果将是第三行:
我尝试了类似这样的东西,但它卡住了:
x = pd.DataFrame({'x': [1,1,1,1,1,1,2], 'y': [4,4,4,5,5,5,4], 'z':['a', 'b', 'c', 'a', 'b', 'c', 'a'], 's':['a', 'a', 'b', 'a', 'a', 'a', 'b']})
x:
x y z s
0 1 4 a a
1 1 4 b a
2 1 4 c b
3 1 5 a a
4 1 5 b a
5 1 5 c a
6 2 4 a b
我想要检查的是,按列 x
和 y
分组的数据框中,列 z
的值是否不在列 s
中。
例如,在以下分组(x=1,y=4)中:
x y z s
0 1 4 a a
1 1 4 b a
2 1 4 c b
结果将是第三行:
x y z s
0 1 4 c b
我尝试了类似这样的东西,但它卡住了:
x= x.groupby(['x', 'y'])[(~x.z.isin(x.s)).index]
有什么建议吗?
先感谢您!