2017-07-08 27 views
0

我有兩個數據幀A和B.兩者具有相同的結構(行數,列數,列名和索引)。 A填充數據,B包含與A中的數據相對應的標誌(True或False)。我想創建另一個數據幀C,只要B中相應的標誌爲True,其值爲A.我應該如何去做同樣的事情。我相信我必須使用某種組合,但我是一個完整的python/pandas新手。按另一個數據框中的值分組

+0

請向我們展示A和B的樣本,我們無法在沒有看到樣本的情況下清楚瞭解您的意圖。並給出相應的期望輸出 –

+0

這聽起來像一個'merge'或'join'操作,不一定是'groupby',但就像評論者所說的那樣,張貼樣本數據以及您嘗試過的任何代碼。 – cmaher

回答

1

是這樣的嗎?

>>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

相關問題