2016-02-06 2 views
-2

Я изучаю панды.
У меня есть две dataframe A, B
2 col данных, поступающих из A, являются строками и col в B. Как я могу выбрать данные в B на основе результата A.
Результат А должен иметь 2 колоса. первый результат A - это столбец B, а второй - строка B
Спасибо.Использовать результат из одного кадра данных, чтобы найти данные в другом фрейме данных в пандах

Мне удалось получить результат от A сейчас. Я все еще не полностью понимаю индексацию dataframe pandas.

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 

dataframe В является следующим:

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 

Результат Я хочу использует имя и время в А, чтобы найти данные в B

ccc ddd 
eee fff 
+0

@albert Мне удалось получить результат А. – 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

Благодарим вас за код, но он использует только один col из dfa. мое золото использует оба cols от A. дата - это индекс строки, а имя - индекс col. – galaxyan

Смежные вопросы

 Смежные вопросы