这里需要一些pandas jump start:
考虑两个数据框A
和B
。两者都包含具有标识符值的列id
:
A: id valA
8 ?
2 ?
4 ?
B: id valB valC
1 ? ?
4 ? ?
3 ? ?
8 ? ?
2 ? ?
我需要一个版本的数据框B
,其中只包含A[id]
标识符的行,其顺序与A
完全相同。那就是:
B': id valB valC
8 ? ?
2 ? ?
4 ? ?
我认为这是大熊猫的基本操作,但似乎我现在错过了谷歌的词汇。
我已经尝试了
B.loc[B['id'].isin(A['id'])]
但这似乎不是解决方案 - 结果中的列id
与A
中的值顺序不同。
答案 0 :(得分:3)
您可以使用pd.merge
In [92]: A.merge(B)
Out[92]:
id valA valB valC
0 8 ? ? ?
1 2 ? ? ?
2 4 ? ? ?