在Python中添加两个列联表

时间:2019-03-13 13:40:14

标签: python pandas data-structures

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

我的列联表如下所示,例如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熊猫中实现这一目标?

1 个答案:

答案 0 :(得分:1)

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