Clasificación por datos de columna específica utilizando .csv en python

Estoy intentando ordenar un archivo .csv con más de 300 entradas y devolverlo todo ordenado por los valores numéricos en una columna específica debajo de un dialecto. Aquí está el código que he escrito hasta ahora, pero parece que muestra los datos a medida que ingresaban

import csv
import itertools
from itertools import groupby as gb

reader = csv.DictReader(open('Full_List.csv', 'r'))

groups = gb(reader, lambda d: d['red label'])
result = [max(g, key=lambda d: d['red label']) for k, g in groups]



writer = csv.DictWriter(open('output.csv', 'w'), reader.fieldnames)
writer.writeheader()
writer.writerows(result)

Solo hay 50 filas en todo el archivo que contienen un valor debajo del dialecto "etiqueta roja" y todas las demás se dejan en blanco. Está en la columna Z en el .csv (pero no en el último), por lo que asumo que el índice de la columna es 25 (0 es el primero). Cualquier ayuda sería muy apreciada.