我有一个名为user_follow
的数据框,看起来像这样。
followerId followingId
abc1998 abc1997
abc1998 abc1991
abc1998 abc1992
abc1998 abc1994
abc1998 abc1995
abc1998 abc1996
abc1998 abc2035
“ followerId”和“ followingId”是各种用户的ID。我还有另一个列表uniqueUsers
,其中有一个列表,共有近100个用户。
我创建了一个数据框df
,其中所有0个值以及索引和行均作为uniqueUsers
的元素。
abc2003 abc2022 abc2023 ... abc1997 abc1998 abc2035 abc1996
abc2003 0 0 0 ... 0 0 0 0
abc2022 0 0 0 ... 0 0 0 0
abc2023 0 0 0 ... 0 0 0 0
abc2024 0 0 0 ... 0 0 0 0
abc2027 0 0 0 ... 0 0 0 0
.
.
.
因此,上述数据框具有100行和100列。
我想通过遍历数据帧df
来填充上面的数据帧user_follow
。对于user_follow
中的每个(followerId,followingId),我想在上述数据帧df
的对应(行,列)中填充'1'。在这里,行/索引和列是uniqueUsers
列表中的唯一用户。
对此有任何帮助吗?
答案 0 :(得分:0)
我不确定您希望如何使用输出表,但以下方法可能会解决问题。只需尝试:
output_table = pd.crosstab(user_follow.followerId, user_follow.followingId)
或者,对于更复杂的填充,您可以将iterrows
的{{1}}方法用作
pd.DataFrame
答案 1 :(得分:0)
如果您确实要更新uniqueuser数据框,则可以通过以下方式进行操作:
for row in user_follow.itertuples():
uniqueuser.loc[row[1]][row[2]] = 1