【问题标题】:Data Frame Join数据框连接
【发布时间】:2019-09-28 19:51:52
【问题描述】:

我正在使用 Jupyter 笔记本将两个数据框连接在一起,但出现以下错误。有谁知道正确的写法吗?

ValueError: 只能比较标签相同的 Series 对象

data_set = git_author.join(repo_team, on=git_author.project==repo_team.gitProject)

【问题讨论】:

    标签: python python-3.x pandas join jupyter


    【解决方案1】:

    您的错误ValueError: Can only compare identically-labeled Series objects 是因为在两个数据框中没有可与键一起使用的具有相同标签的列。然后,我建议使用:

    data_set = git_author.merge(repo_team, right_on = "project", left_on = "gitProject")
    

    另外,你可以指定how参数来告诉merge你是要做内连接、外连接、左连接还是右连接。

    这样,您可以指定要用作合并键的列的标签,即使两个数据框的标签不同。

    注意:由于我没有您的数据,因此尚未经过测试。

    【讨论】:

    • 感谢您的建议 - 当我添加该语句时,它给了我以下错误:NameError: name 'project' is not defined 我尝试为每个数据框添加前缀,因此连接看起来像这样:@987654325 @ 我得到这个错误 - TypeError: join() got an unexpected keyword argument 'right_on'
    • @rmeyer 您可能需要将它们格式化为字符串,我编辑了答案(我在那里疏忽)
    • 谢谢,但这只是把我带到了这个错误:ValueError:len(left_on)必须等于“right”索引中的级别数
    • @rmeyer:另一个想法:使用合并而不是连接。我还编辑了答案,希望这次能做到……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-08
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多