【发布时间】:2021-10-25 22:23:50
【问题描述】:
我正在尝试加入两个数据框,其中一个具有通过行/索引计数创建的列。
我的第一个带有计数器的 df 是从另一种方法(不是索引函数)创建的,看起来像
THING INDEX
B 1
B 2
B 3
我的第二个 df 有一个使用创建的索引
df2['INDEX_RAW'] = df2.reset_index().index
df2['INDEX'] = df2['INDEX_RAW'] + 1
所以我的 df2 看起来像
ITEM INDEX_RAW INDEX
A 0 1
A 1 2
A 2 3
当我运行 df3 = df.join(df2, on = 'INDEX', how = 'left', lsuffix = '1') 时,我最终会以某种方式在 df2 上增加索引另一个 +1 并且没有正确连接最后一行。
THING INDEX1 ITEM INDEX_RAW INDEX
B 1 A 1 2
B 2 A 2 3
B 3 NaN NaN NaN
【问题讨论】:
-
根据doc 的参数
on,它说Column ... in the caller to join on the index in other,所以这意味着通过指定此参数,您将从df加入列INDEX 到索引(而不是df2的同名列),这会创建您在案例中看到的“转变”
标签: python pandas dataframe indexing