我有一个名为Bob
的数据帧,其列= [A,B],而A仅具有唯一值,例如序列ID。形状为(100,2)
我还有一个名为Anna
的数据框,其列为[C,D,E,F],其中C与bob中的A具有相同的值,但有重复项。 D列是类别(电话/笔记本电脑/ ipad),由C中的序列号定义。Anna
的形状为(500,4)。
安娜中的行示例:
A B C D
K103 phone 12 17
K103 phone 14 23
G221 laptop 25 6
我想通过在anna [C]中搜索A的值来创建一个具有A,B,D列的新数据框。最终数据框的形状应为(100,3)
我发现使用pd.merge
会遇到困难(我尝试过左/内/右联接),因为它会在新数据框中创建相同值的2行,即K103在新数据框中显示2x。 / p>
答案 0 :(得分:1)
告诉我这是否可行,我在输入时会想到这个,所以我实际上无法检查。
df = Bob.merge(Anna[['C','D'].drop_duplicates(keep='last'),how='left',left_on='A',right_on='C']
让我知道它是否不起作用,我将创建一个样本数据集并使用正确的代码对其进行编辑。