我在分配給不同個(gè)人的表中有數(shù)據(jù)。但是,很多數(shù)據(jù)基于 MD5 是相同的,我希望每個(gè)條目都?xì)w因于具有相同 MD5 的每個(gè)人。例如,輸入數(shù)據(jù)可能如下所示:但是,我希望輸出如下表所示。例如,A、C、E 的所有者相同,因?yàn)樗鼈兊?MD5 相同(欣賞 MD5 會(huì)更長(zhǎng),這只是為了說(shuō)明)。類似地,對(duì)于 B、D、F,MD5 相同,因此 Owner 也被合并為所有 3 個(gè)條目。我寫了一個(gè)有效的腳本(但效率非常低):md5OwnerDF = pd.DataFrame({"MD5 Digest":[],"All_Owners":[]})for md5 in uniqueTLMD5List: # sub dataframe with md5 md5DF = df.loc[df['MD5 Digest'] == md5].copy() # bring in owners of this sub dataframe (md5DF) and convert into unique list (ownerList) ownerList = ';'.join([str(elem) for elem in md5DF.loc[:,'Owner'].unique().tolist()]) md5OwnerDF_temp = pd.DataFrame({"MD5 Digest":[md5],"All_Owners":[ownerList]}) md5OwnerDF = md5OwnerDF.append(md5CustodianDF_temp)有沒(méi)有更好的方法可以在不迭代的情況下獲得相同的結(jié)果?
1 回答

有只小跳蛙
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊
你可以試試transform
+groupby
df['new'] = df.roupby('ID')['MD5'].transform(','.join)
添加回答
舉報(bào)
0/150
提交
取消