我试图在两个表a
(4条记录)和b
(2条记录)之间进行左连接。但我的结果数据集有>;8张不是我所期望的唱片
数据如下:
hh_id|sex|age_group|mgb|wrk_status
----------------------------------
140401100|2|10|1|1
140401100|2|10|1|1
140401100|2|10|2|1
140401100|2|10|2|1
hh_id|sex__|age_group__|mgb_age
-------------------------------
140401100|3|2|36
140401100|3|2|37
我使用python中的以下代码获得以下结果
result = pd.merge(tt,tt1,on='hh_id',how='left')
hh_id|sex|age_group|mgb|wrk_status|sex__|age_group__|mgb_age
------------------------------------------------------------
140401100|2|10|1|1|3|2|36
140401100|2|10|1|1|3|2|37
140401100|2|10|1|1|3|2|36
140401100|2|10|1|1|3|2|37
140401100|2|10|2|1|3|2|36
140401100|2|10|2|1|3|2|37
140401100|2|10|2|1|3|2|36
140401100|2|10|2|1|3|2|37
但我需要的结果如下
hh_id|sex|age_group|mgb|wrk_status|sex__|age_group__|mgb_age
------------------------------------------------------------
140401100|2|10|1|1|3|2|36
140401100|2|10|1|1|3|2|37
140401100|2|10|2|1|3|2|37
140401100|2|10|2|1|3|2|37
因此,理想情况下,a
的第一条记录应该取b
的第一条记录,a
的其余记录应该取b
的第二条记录,我的结果数据集应该只有四条记录,因为它是左连接
当联接键在“right”表中有超过1条匹配记录时,这是一个左联接工作as expected
您似乎想要的(假设您打算在最后2个所需结果中的一个中键入
36
)是删除重复项,这可以通过从“left”表中选择不同的结果或从join查询中选择不同的结果在开始或结束时实现相关问题 更多 >
编程相关推荐