【发布时间】:2020-01-17 01:00:17
【问题描述】:
我有一份 DNA 寡核苷酸列表可供订购,其中包含重复序列。但是,我需要将它们与使用它们的质粒的标识符配对。
换句话说,我需要这个数据框:
Oligo_sequence Plasmid
0 "ATG" "Plasmid A"
1 "ATG" "Plasmid B"
2 "CAG" "Plasmid C"
变成:
Oligo_sequence Plasmid
0 "ATG" ["Plasmid A","Plasmid B"]
1 "CAG" ["Plasmid C"]
我认为与此类似的功能可能会起作用。但我不知道如何识别重复项。
for index, row in df.iterrows():
plasmidlist = [row[1]]
if duplicate == True: #Is their a dublicate function I can use?
plasmidlist.append(duplicaterow[1])
drop(dublicaterow)
df.at[row,'Plasmid']= plasmidlist
【问题讨论】:
-
最好避免使用
.iterrows()。顺便说一句,你为什么要这样做? -
尝试更多使用
groupby、apply等函数,而不是iterrow:第一种方法:df.groupby('Oligo_sequence')['Plasmid'].apply(list).reset_index();使用 lambda 的第二种方法:df.groupby('Oligo_sequence')['Plasmid'].apply(lambda x: ",".join(x).split(",")).reset_index()