我正在建立推荐系统,为此我建立了列联表以了解产品之间的关联。

我的列联表如下所示,例如Tble-1:

   a  b  c  d
a  2  1  1  1
b  1  2  2  0
c  1  2  2  0
d  1  0  0  1


这是一个熊猫数据框。

由于我正在处理流数据,因此每当我获得新数据时都需要更新此列联表。

假设我得到了新的列联表,例如表2:

   a  b  c  e
a  2  1  1  4
b  1  1  2  0
c  1  2  4  2
e  1  3  0  4


我需要添加两个列联表,即表1 +表2,这将产生一个新表,如下所示:

   a  b  c  d  e
a  4  2  2  1  4
b  2  3  4  0  0
c  2  4  6  1  4
d  1  0  0  1  0
e  1  3  0  0  4


如何在python熊猫中实现这一目标?

最佳答案

DataFrame.add与参数fill_value=0用作不匹配的值,然后替换不存在的值并在必要时转换为整数:

df = df1.add(df2, fill_value=0).fillna(0).astype(int)
print (df)
   a  b  c  d  e
a  4  2  2  1  4
b  2  3  4  0  0
c  2  4  6  0  2
d  1  0  0  1  0
e  1  3  0  0  4

关于python - 在Python中添加两个列联表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55143278/

10-12 19:02