簡體   English   中英

如何通過迭代另一個數據幀的行來填充特定索引和列的數據幀?

[英]How to fill a dataframe at specific index and column by iterating over rows of another dataframe?

我有一個名為user_follow的數據user_follow ,看起來像這樣..

followerId  followingId

abc1998     abc1997
abc1998     abc1991
abc1998     abc1992
abc1998     abc1994
abc1998     abc1995
abc1998     abc1996
abc1998     abc2035

'followerId' 和 'followingId' 是各種用戶的 ID。 我有另一個列表uniqueUsers有一個列表 o 將近 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 列。

我想通過遍歷數據幀user_follow來填充上述數據幀df 對於user_follow每個 (followerId, followingId),我想在上述數據幀df的相應(行,列)中填充“1”。 這里,行/索引和列是來自uniqueUsers列表的唯一用戶。

這有什么幫助嗎?

我不確定您想要輸出表的方式,但可能以下方法可以解決問題。 簡單地試試這個:

output_table = pd.crosstab(user_follow.followerId, user_follow.followingId)

或者,對於更復雜的餡料,可以使用iterrows的方法pd.DataFrame作為

for i, row in user_follow.iterrows():
     # do stuff

如果你真的想更新 uniqueuser 數據框,你可以這樣做:

for row in user_follow.itertuples():
    uniqueuser.loc[row[1]][row[2]] = 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM