我是数据分析的初学者,我想把3个表合并成一个没有重复行或列的表。第3列中的3个表中的一列的值都是相似的。
我有3个表'listings'
,'users'
,'info'
。“表”中的“用户ID”和“用户ID”列中的用户ID不同。在
我尝试了以下方法,但还是得到了重复值或NaN值。在
pd.merge(listings,users,left_on='user_id',right_on='id').merge(info,left_on='user_id',right_on='id_number')
对于这种情况,我看到重复的值,而且结果中的总行数非常少。在
我试了一下海螺:
^{pr2}$但我得到了以下错误:
TypeError: cannot concatenate object of type ""; only pd.Series, pd.DataFrame, and pd.Panel (deprecated) objs are valid
当您使用
pd.merge
而不提供how参数时,您正在对这两者执行inner
联接桌子。还有由于inner
联接是一种数学intersection
,因此您应该看到小于或等于较小表中的行数。在当你这么做的时候
你一定有}将出现在第一次合并的结果中,当您执行第二次合并时,两列}将出现。这些都是同一列的副本。在
duplicate columns
。两列id
和{user_id
和{如果这三个表都有相同的
ID
,您将不会看到重复的列。我认为你应该删除重复的列。我相信,如果您将第一次合并的结果保存在一个数据帧中,然后使用info
表执行最后的合并,您就可以轻松地找出重复列的来源。在相关问题 更多 >
编程相关推荐