我在分配给不同个人的表中有数据。但是,很多数据基于 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
提交
取消