我在分配給不同個人的表中有數據。但是,很多數據基于 MD5 是相同的,我希望每個條目都歸因于具有相同 MD5 的每個人。例如,輸入數據可能如下所示:但是,我希望輸出如下表所示。例如,A、C、E 的所有者相同,因為它們的 MD5 相同(欣賞 MD5 會更長,這只是為了說明)。類似地,對于 B、D、F,MD5 相同,因此 Owner 也被合并為所有 3 個條目。我寫了一個有效的腳本(但效率非常低):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)有沒有更好的方法可以在不迭代的情況下獲得相同的結果?
1 回答

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