los valores de cambio en pandas con condiciones

Pregunta hecha: hace 8 meses Ultima actividad: hace 8 meses
up 2 down

Tengo un df, tales como:

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

y me gustaría cambiar los valores de df.qstart y ds.qend si df.qstart>df.qstart

Aquí sería:

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 

como se puede ver 500 fue puesto en el lugar de 20 Gracias por tu ayuda

1 respuesta

up 3 down accepted

Puede ordenar los valores y asignar de nuevo:

import numpy as np
df[['qstart', 'qend']] = np.sort(df[['qstart', 'qend']].values, axis=1)