gpt4 book ai didi

python - 根据 Pandas 中的另一个列值更改列值

转载 作者:太空宇宙 更新时间:2023-11-04 09:24:12 25 4
gpt4 key购买 nike

我在 python 中有一个数据框,例如:

seqnames    start   end name    number  strand
A 50 453 A 1 -
B 30 322 A 2 -
C 10 432 A 3 -
D 36 344 A 4 +
E 40 321 A 5 +
F 78 234 A 6 -

我想根据 strand 列 中的符号更改开始和结束列中的 de 值。

所以对于每一行,如果 strand-start+1end-2如果链是 + 则什么都不做

这里我应该得到:

seqnames    start   end name    number  strand
A 51 451 A 1 -
B 31 320 A 2 -
C 11 430 A 3 -
D 36 344 A 4 +
E 40 321 A 5 +
F 79 232 A 6 -

谢谢你的帮助

最佳答案

使用:

df[['start','end']]=np.where(df['strand'].eq('-')[:,None],
np.column_stack((df['start']+1,df['end']-2)),
df[['start','end']].values)
print(df)

  seqnames  start  end name  number strand
0 A 51 451 A 1 -
1 B 31 320 A 2 -
2 C 11 430 A 3 -
3 D 36 344 A 4 +
4 E 40 321 A 5 +
5 F 79 232 A 6 -

关于python - 根据 Pandas 中的另一个列值更改列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58623591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com