当图案出现在另一列中时,更改两列的值

2024-09-25 02:40:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张桌子,比如:

seqnames start end  strand
1 scaffold_0 1 50 -
2 scaffold_0 30 120 +
3 scaffold_0 60 400 -
4 scaffold_0 100 300 +

我只是想对每一行使用“-”来替换结束和开始之间的值

因此,它应该得到:

seqnames start end  strand
1 scaffold_0 50 1 -
2 scaffold_0 30 120 +
3 scaffold_0 400 60 -
4 scaffold_0 100 300 +

谢谢你的帮助


Tags: startendscaffold桌子strandseqnames
1条回答
网友
1楼 · 发布于 2024-09-25 02:40:39

您可以创建一个掩码并在df.loc[]下调用它,然后反向赋值:

l=df['strand'].eq("-")
df.loc[l,['start','end']] = df.loc[l,['end','start']].values
print(df)

     seqnames  start  end strand
1  scaffold_0     50    1      -
2  scaffold_0     30  120      +
3  scaffold_0    400   60      -
4  scaffold_0    100  300      +

相关问题 更多 >