2016-02-06 96 views
-2

我正在學習熊貓。
我有兩個數據幀A,B
2列數據來自A是行和列B,我怎麼能根據A的結果選擇B中的數據。
A的結果應該有2列。 A的第一個結果是B的列,第二個是B的行
謝謝。使用一個數據幀的結果在熊貓中的另一個數據幀中查找數據

我設法從A得到結果。我還沒有完全理解熊貓數據幀索引。

raw_eps.loc[ raw_eps.loc[:,'ACT_RPT_CODE'] == BEFORE_MARKET, ('Ticker','DATE') ] 

的例子是僞數據
例如A的結果如下:

result from A: 
    Name  DATE 
0  123 10/22/15 
2  245 10/27/15 

的數據幀B是如下:

data in B: 
    Date  123 245 789 
0 10/22/15 ccc ddd odo 
1 10/27/15 eee fff jdj 
1 11/21/15 ttt www ppp 

我想使用的結果A的名稱和日期以查找數據B

ccc ddd 
eee fff 
+0

@albert我設法得到A的結果。 – galaxyan

+1

請提供[MCVE](http://stackoverflow.com/help/mcve)。 – albert

+0

@galaxyan將'245'變成'345'? – SIslam

回答

0

答案應該爲B,則扁它來設置索引。

B = B.set_index('Date') 
B = B.stack() 
res = merge(A,B,on='Date') 
0

試試這個:

dfa= pd.DataFrame({'name':[123,456],'id':[1,2]}) 
dfb= pd.DataFrame({123:['aaa','bbb'],456:['lll','jjj'],'id':[1,2]}) 

你可以通過你想要索引值到.loc

dfb.loc[:,dfa.name.tolist()] 
+0

謝謝你的代碼,但它只使用dfa中的一個列。我的黃金是使用來自A的兩個cols。日期是行索引,名稱是col索引。 – galaxyan

相關問題