有没有更好的方法可以从其他数据中提取相同的数据?

时间:2019-08-16 03:15:35

标签: python pandas

我正在尝试从其他数据框“整个”中抽取数据框“ ppl”中的相同ID,因为我的目标是ppl中的ID。因此,我编写了代码并执行了它,但是花了很多时间才能完成。我在想还有另一种方法。

我正在处理客户和购买数据。 “ cst_id”是ID

whole [whole ['cst_id']。map(lambda x:ppl ['cst_id']。tolist()中的x]

我想要一个结果,就像从pst_id中提取并提取ppl中出现的ID一样。

1 个答案:

答案 0 :(得分:1)

如果我对您的理解正确,那么您需要这样做:

给出数据帧whole(具有9个ID)和ppl(具有3个ID):

whole = pd.DataFrame()
whole['cst_id'] = [1, 2, 3, 4, 5, 6, 7, 8, 9]
whole['sum'] = [200, 400, 200, 300, 400, 200, 400, 500, 900]

ppl = pd.DataFrame()
ppl['cst_id'] = [2, 4, 6]

您要根据ppl中的wholeppl df中提取出现在cst_id中的记录:

whole = whole[whole.cst_id.isin(ppl['cst_id'])]

输出:

   cst_id  sum
1       2  400
3       4  300
5       6  200