【问题标题】:Can't concatenate pandas dataframes with the same length?不能连接相同长度的熊猫数据帧?
【发布时间】:2017-04-06 20:40:46
【问题描述】:

这很奇怪。从文档中我已经准备好阅读如何做concat 和合并操作与熊猫。我也都准备好了,可以按如下方式连接到右侧:

df = pd.concat([df1, df2], axis=1)

问题是我生成了以下数据框:

在:

links = pd.DataFrame(links, columns=['link'])

所以,我只想将 link 数据框列连接到 intersection 数据框(请注意,linkintersection 有 78 个长度实例)。因此:

在:

full_table = pd.concat([lis_, lis_2], axis=1)

问题在于,正如您在上面的数据框中看到的那样,它添加了一些 NaN 值。因此,连接linksintersection 数据帧的正确方法是什么?

【问题讨论】:

    标签: python pandas join concatenation right-join


    【解决方案1】:

    也许您的索引不匹配。尝试使用ignore_index 参数:

    full_table = pd.concat([intersection, links], axis=1, ignore_index=True)
    

    【讨论】:

    • 您的索引显然是问题所在。只需比较上面链接和交叉数据帧的输出(一个索引从 0 开始,另一个从 1 开始)。尝试使用 df.index = list(range(len(df))) 手动重置索引。
    猜你喜欢
    • 2020-02-21
    • 2018-10-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 2017-10-15
    • 1970-01-01
    • 2019-10-02
    • 1970-01-01
    相关资源
    最近更新 更多