es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Invertir el orden de las filas por grupos de n filas.

Considere la siguiente secuencia:

df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))

que produce:

     A   B   C   D
0   56  83  99  46
1   40  70  22  51
2   70   9  78  33
3   65  72  79  87
4    0   6  22  73
..  ..  ..  ..  ..
95  35  76  62  97
96  86  85  50  65
97  15  79  82  62
98  21  20  19  32
99  21   0  51  89

Puedo invertir la secuencia con el siguiente comando:

df.iloc[::-1]

Eso me da el siguiente resultado:

     A   B   C   D
99  21   0  51  89
98  21  20  19  32
97  15  79  82  62
96  86  85  50  65
95  35  76  62  97
..  ..  ..  ..  ..
4    0   6  22  73
3   65  72  79  87
2   70   9  78  33
1   40  70  22  51
0   56  83  99  46

¿Cómo puedo reescribir el código si quiero invertir la secuencia cada n-ésima fila, por ejemplo, cada 4ª fila?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para revertir la secuencia cada cuarta fila, el comando iloc necesita ser modificado para tomar pasos de 4. El código se puede escribir de la siguiente manera:

    df.iloc[::4,::-1]
    

    Esto revertirá la secuencia cada 4ta fila y dará el siguiente resultado:

          D   C   B   A
    99   89  51   0  21
    95   97  62  76  35
    91   23  42  56  71
    87   59  49  37   1
    83   96  22   7  35
    ..  ...  ..  ..  ..
    15   38  16  25  50
    11   62  66   8  52
    7    72  55  24  49
    3    87  79  72  65
    

    Ten en cuenta que solo se muestran en orden inverso las filas que son múltiplos de 4, mientras que las demás filas permanecen en su orden original.

Comments are closed.