我正在建立一个推荐系统,为此我要建立一个列联表以了解产品之间的关联。
我的列联表如下所示,例如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熊猫中实现这一目标?
答案 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