我正在使用pandas.merge
合并两个数据帧。即使在指定了how = left
选项之后,我仍然发现合并的数据帧的行数大于原始数据帧的行数。为什么会这样?
panel = pd.read_csv(file1, encoding ='cp932')
before_len = len(panel)
prof_2000 = pd.read_csv(file2, encoding ='cp932').drop_duplicates()
temp_2000 = pd.merge(panel, prof_2000, left_on='Candidate_u', right_on="name2", how="left")
after_len = len(temp_2000)
print(before_len, after_len)
> 12661 13915
这听起来像在} 一起使用只意味着:
'name2'
下的right
中有多行与您为left
设置的键匹配。将选项'how='left'
与^{但是,result对象中的实际行数不一定与
left
对象中的行数相同。示例:
然后是另一个类似这样的DF(注意,左边有多个用于您所需键的条目):
如果我在
left.A
上合并这两个,会发生以下情况:即使我与
how='left'
合并,正如您在上面看到的,也有多行要合并,如图所示,结果pd.DataFrame
实际上比left
上的pd.DataFrame
有更多行。我希望这有帮助!
相关问题 更多 >
编程相关推荐