获取键值不匹配两个数据帧的索引列表
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
,两个数据帧之间的 K4
和 K5
存在差异。
我的目标是获取不在两个数据框中的索引列表,例如[4, 5]
基于键值。
您可以使用 isin
:
right[~right['key'].isin(left['key'])]
或仅针对指数:
right.index[~right['key'].isin(left['key'])]
我有两个数据框。
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
,两个数据帧之间的 K4
和 K5
存在差异。
我的目标是获取不在两个数据框中的索引列表,例如[4, 5]
基于键值。
您可以使用 isin
:
right[~right['key'].isin(left['key'])]
或仅针对指数:
right.index[~right['key'].isin(left['key'])]