我想添加一个包含两列的数据框:read\u id和score
我正在使用以下代码:
reads_array = []
for x in Bio.SeqIO.parse("inp.fasta","fasta"):
reads_array.append(x)
columns = ["read_id","score"]
df = pd.DataFrame(columns = columns)
df = df.fillna(0)
for x in reads_array:
alignments=pairwise2.align.globalms("ACTTGAT",str(x.seq),2,-1,-.5,-.1)
sorted_alignments = sorted(alignments, key=operator.itemgetter(2),reverse = True)
read_id = x.name
score = sorted_alignments[0][2]
df['read_id'] = read_id
df['score'] = score
但这行不通。你能建议一种生成数据帧df的方法吗
df['read_id']
和df['score']
是级数。因此,如果要迭代reads_array
并计算某个值,然后将其赋给df的列,请尝试以下操作:在最上面一定要有
然后替换共享的代码
原始代码的主要问题有两个:
1)您的数据帧有0行
2)df['column\u name']指的是整个列,而不是单个单元格,因此当执行df['column\u name']=value时,该列中的所有单元格都被设置为该值
相关问题 更多 >
编程相关推荐