【发布时间】:2021-09-10 17:10:56
【问题描述】:
我有两个 pandas 数据框,每行代表一个不同的作者。还有一个名为“publications”的列,表示该作者的 publication_ids 列表,其中 min_len = 1。
df_1 = pd.DataFrame({'publications':[[34499803], [34499125], [34445802, 7092834]]}, index=['0', '4', '2423'])
df_2 = pd.DataFrame({'publications':[[65499803, 56899232], [78999821], [87499234]]}, index=['2234', '543', '345'])
如何将它们组合起来,使结果看起来像这样?
df_sum = pd.DataFrame({'publications':[[65499803, 56899232, 34499803], [78999821, 34499125], [87499234, 34445802, 7092834]]}, index=['0', '4', '2423'])
元素的顺序无关紧要。我尝试使用 +,但我得到 np.NaN,也有 add,但它抱怨类型(TypeError: unsupported operand type(s) for +: 'float' and 'list')
注意:我编辑了这个问题,因为我意识到我提供的最小示例没有捕获来自索引的问题。当我合并这两个表时,我只关心保留 df_1 索引
【问题讨论】:
-
df_1 + df_2很有魅力,add你试过什么?或者您的示例不能代表问题? -
你的例子有效...
-
我认为问题是
NANs,需要this 将它们替换为空列表 -
两个DataFrame的长度一样吗?