获取键值不匹配两个数据帧的索引列表

Get list of indices where key-value doens't match both dataframes

我有两个数据框。

left = pd.DataFrame(
    {
        "key": ["K0", "K1", "K2", "K3"],
        "A": ["A0", "A1", "A2", "A3"],
        "B": ["B0", "B1", "B2", "B3"],
    }
)


right = pd.DataFrame(
    {
        "key": ["K0", "K1", "K2", "K3", "K4", "K5"],
        "C": ["C0", "C1", "C2", "C3", "C4", "C5"],
        "D": ["D0", "D1", "D2", "D3", "D4", "D5"],
    }
)

left df 是 right df 的一部分,如您所见:

left = 
    key A   B
0   K0  A0  B0
1   K1  A1  B1
2   K2  A2  B2
3   K3  A3  B3

right = 
    key C   D
0   K0  C0  D0
1   K1  C1  D1
2   K2  C2  D2
3   K3  C3  D3
4   K4  C4  D4
5   K5  C5  D5

基于 key,两个数据帧之间的 K4K5 存在差异。

我的目标是获取不在两个数据框中的索引列表,例如[4, 5] 基于键值。

您可以使用 isin:

right[~right['key'].isin(left['key'])]

或仅针对指数:

right.index[~right['key'].isin(left['key'])]