Python 获取数据帧的索引以匹配行值

Python 获取数据帧的索引以匹配行值,python,pandas,Python,Pandas,我必须在熊猫中创建数据帧,A和B: A: 其中0123445是数据帧的索引 以及另一个以字符串作为索引的数据帧: 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中,但并

我必须在熊猫中创建数据帧,
A
B

A:

其中
0123445
是数据帧的索引

以及另一个以字符串作为索引的数据帧:

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
who的行号与
A
匹配的索引字符串,同时保留
A

因此,我需要:

'p_21'
'p_76'
'p_05'

我将使用连接操作来处理这个程序。首先,使用B上的
reset_index
,使索引成为数据帧中的新列。然后使用内部联接,使用
merge
函数将两个数据帧组合在一起。确保在联接操作期间禁用排序。新数据框中的索引列将具有您想要的内容

以下是有关连接的熊猫文档

您可以使用此函数:

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 [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