我正在尝试从其他数据框“整个”中抽取数据框“ ppl”中的相同ID,因为我的目标是ppl中的ID。因此,我编写了代码并执行了它,但是花了很多时间才能完成。我在想还有另一种方法。
我正在处理客户和购买数据。 “ cst_id”是ID
whole [whole ['cst_id']。map(lambda x:ppl ['cst_id']。tolist()中的x]
我想要一个结果,就像从pst_id中提取并提取ppl中出现的ID一样。
答案 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中的whole
从ppl
df中提取出现在cst_id
中的记录:
whole = whole[whole.cst_id.isin(ppl['cst_id'])]
输出:
cst_id sum
1 2 400
3 4 300
5 6 200