2016-05-30 157 views
1

我不得不在熊貓dataframes,AB獲取大熊貓數據幀的索引匹配的行值

答:

A = pd.DataFrame({0:[1.24, 8.75, 4.32]}) 

0 1.24 
1 8.75 
2 4.32 

其中0 1 2 3 4 5是數據幀

的索引和另一個以字符串作爲索引的數據幀:

B = pd.DataFrame({0:[9.43, 1.24, 9.09, 4.32, 8.85]}, index=['p_32','p_21','p_01','p_05','p_76']) 

'p_32' 9.43 
'p_21' 1.24 
'p_01' 9.09 
'p_05' 4.32 
'p_76' 8.75 

第一列A中的所有數字都包含在B中,但不是其他方式。我想要得到的指數字符串B衛生組織行數相匹配A,同時保留以便在A

所以我需要:

'p_21' 
'p_76' 
'p_05' 

回答

2

您可以使用isin()功能爲:

In [141]: B[B[0].isin(A[0])].index 
Out[141]: Index(['p_21', 'p_05', 'p_76'], dtype='object') 

In [142]: B[B[0].isin(A[0])] 
Out[142]: 
     0 
p_21 1.24 
p_05 4.32 
p_76 8.75 

數據:

In [139]: A 
Out[139]: 
     0 
0 1.24 
1 8.75 
2 4.32 

In [140]: B 
Out[140]: 
     0 
p_32 9.43 
p_21 1.24 
p_01 9.09 
p_05 4.32 
p_76 8.75 
+0

我本來以爲這一點,但它不回答維持與A – Jezzamon

+0

@Jezzamon相同訂單的要求,你是對的。這部分仍然需要解決... – MaxU