按另一个数据框中的值分组

问题描述:

我有两个数据帧A和B.两者具有相同的结构(行数,列数,列名和索引)。 A填充数据,B包含与A中的数据相对应的标志(True或False)。我想创建另一个数据帧C,只要B中相应的标志为True,其值为A.我应该如何去做同样的事情。我相信我必须使用某种组合,但我是一个完整的python/pandas新手。按另一个数据框中的值分组

+0

请向我们展示A和B的样本,我们无法在没有看到样本的情况下清楚了解您的意图。并给出相应的期望输出 –

+0

这听起来像一个'merge'或'join'操作,不一定是'groupby',但就像评论者所说的那样,张贴样本数据以及您尝试过的任何代码。 – cmaher

是这样的吗?

>>A = pd.DataFrame({'col1':[2,3,4,5],'col2':['a','b','c','d']}) 
>>A 

col1 col2 
0 2 a 
1 3 b 
2 4 c 
3 5 d 

>>B = pd.DataFrame({'col1':[True, True, False, False],'col2':[False, False,True,True]}) 
>>B 

col1 col2 
0 True False 
1 True False 
2 False True 
3 False True 

>>C = A[B] 

col1 col2 
0 2.0 NaN 
1 3.0 NaN 
2 NaN c 
3 NaN d 
+0

好吧,现在我觉得很蠢 – avz2611

+0

谢谢你正是我需要的:D – avz2611

+0

没有问题!当我尝试时,我实际上并没有想到'A [B]'会起作用:) – qbzenker