我在sql中学习了join方法,我知道inner join意味着只返回我们想要设置的两个不同表的交集。
我认为对于 python,这个概念是一样的。但是我在理解某些代码时遇到了问题。
crsp1=pd.merge(crsp, crsp_maxme, how='inner', on=['jdate','permco','me'])
crsp1=crsp1.drop(['me'], axis=1)
crsp2=pd.merge(crsp1, crsp_summe, how='inner', on=['jdate','permco'])
如果我理解正确,第一行将表 crsp 和 crsp_maxme 与列 'jdate'、'permco'、'me' 上的交集合并。所以表 crsp1 将有 3 列。第二行删除表 crsp1 的“me”列。最后一个留置权会将新调整的表 crsp1 和 crsp_summe 与内部连接合并,在“jdate”和“permco”上具有交集。这使得新合并的表 crsp2 只有 2 列。
但是,第 2 行的代码解释说,第二行和第三行从 crsp1 中删除了“me”列,然后将其替换为 crsp_summe 表中的“me”,我对此理解有问题。
任何人都可以为我澄清这些行吗?
PS:crsp、crsp_summe、crsp_maxme表我觉得不用解释是什么,因为它们都是由inner join函数框定的。所以请原谅缺乏背景信息。