2016-06-03 1 views
1

У меня есть два DataFrames: A и B. A содержит два столбца: Number и Letter, B также содержит два столбца: Number1 и Number2, а Number содержит те же данные, что и в Number1 и Number2. Как я могу сделать ned dataframe, который будет содержать столбец, который содержит Number1, Number2 и столбец с его буквой?Вредоносные данные в python с использованием pandas

A 
Number Letter 
1  e 
2  l 
3  o 
4  s 
5  p 
6  w 
7  r 
8  i 
9  u 

B 
Number1 Number2 
1   7 
4   9 
2   1 

Необходим выход (без dublicats):

Number Letter 
    1  e 
    4  s 
    2  l 
    7  r 
    9  u 

Если есть только один столбец B, я бы его "слить", но как тут быть? Может ли кто-нибудь помочь?

ответ

2

вы можете использовать stack() в сочетании с isin():

In [109]: A[A['Number'].isin(B.stack())] 
Out[109]: 
    Number Letter 
0  1  e 
1  2  l 
3  4  s 
6  7  r 
8  9  u 
+0

большой, спасибо! – Polly

+0

@ Полностью, вы очень желанны! :) – MaxU