我有一个如下所示的DataFrame,我想在其中提取包含一行的组(名称:J,年龄:33)
X | Y | Name | Age |
---|---|---|---|
1 | 3 | J | 33 |
1 | 3 | A | 47 |
1 | 4 | B | 53 |
1 | 4 | X | 22 |
2 | 3 | J | 33 |
2 | 3 | P | 80 |
2 | 4 | V | 90 |
2 | 4 | V | 93 |
总体而言,它将生成下表,因为1,3X/Y组包含J,33,而2,3X/Y组也包含J,33行.
X | Y | Name | Age |
---|---|---|---|
1 | 3 | J | 33 |
1 | 3 | A | 47 |
2 | 3 | J | 33 |
2 | 3 | P | 80 |
我一直通过迭代行来解决这个问题,这太慢了,我想知道在Pandas中是否有更快的方法使用Groupby和Apply/PIPE方法.如有任何帮助,我们不胜感激
示例df如下:
df = pd.DataFrame({
'X': [1,1,1,1,2,2,2,2],
'Y': [3,3,4,4,3,3,4,4],
'Name': ['J', 'A', 'B', 'X', 'V', 'P', 'J', 'V'],
'Age': [33,47,53,22,33,80,33,93]
})