2016-05-30 140 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