我有一个数据帧,例如:
df.columns = ["qseqid", "sseqid", "pident", "length", "mismatch", "gapopen","qstart", "qend", "sstart", "send", "evalue", "bitscore"]
最后,我们的想法是创建一个名为strand
的新列
如果start中的值大于end,则在相应的行中添加一个+,如果start小于end,则添加相同的-
。你知道吗
这是我的密码:
for a, b in zip(df["qstart"],df["qend"]):
if a > b:
df['e'] = '+'
elif a < b:
df.['e'] = '-'
但是我在列串中得到的只是-
签名,即使qstart
中的值高于qend
谢谢你的帮助
测向:
qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore
scaffold_1 test 25.5 337 166 9 2 20 27 310 1.0e-16 94.0
scaffold_1 tes2 27.0 278 163 9 500 20 222 487 1.e-16 94.0
scaffold_1 tes4 35.5 166 93 2 3 10 63 227 2.e-15 89.7
我应该得到的休息:
qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore strand
scaffold_1 test 25.5 337 166 9 2 20 27 310 1.0e-16 94.0 +
scaffold_1 tes2 27.0 278 163 9 500 20 222 487 1.e-16 94.0 -
scaffold_1 tes4 35.5 166 93 2 3 10 63 227 2.e-15 89.7 +
其他部分:
0个
我有一个df,例如:
qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore
scaffold_1 test 25.5 337 166 9 2 20 27 310 1.0e-16 94.0
scaffold_1 tes2 27.0 278 163 9 500 20 222 487 1.e-16 94.0
scaffold_1 tes4 35.5 166 93 2 3 10 63 227 2.e-15 89.7
我想改变df.qstart
和ds.qend
中的值,如果df.qstart>df.qstart
这里是:
qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore
scaffold_1 test 25.5 337 166 9 2 20 27 310 1.0e-16 94.0
scaffold_1 tes2 27.0 278 163 9 20 500 222 487 1.e-16 94.0
scaffold_1 tes4 35.5 166 93 2 3 10 63 227 2.e-15 89.7
正如你所能看到的,SE500代替了20,谢谢你的帮助
您可以使用
np.where
相关问题 更多 >
编程相关推荐