¿Cómo puedo dividir un archivo CSV grande en archivos pequeños basados en registros comunes de Python?

Lo que quiero hacer:

Lo que quiero hacer es tener un gran archivo .csv. Quiero dividir este gran archivo csv en muchos archivos pequeños basados en los registros comunes en la columna BB que también contienen 1 en la columna HH, y todos los registros poco comunes que contienen 0 en la columna HH.

Como resultado, todos los archivos contendrán registros comunes en la columna BB que contienen 1 en la columna HH, y todos los registros poco comunes que no tienen registros en la columna BB y contendrán 0 en la columna HH. El nombre del archivo debe basarse en el registro común de la columna 2 (BB). Por favor, eche un vistazo a continuación para ver el escenario. Cualquier sugerencia es muy apreciada.

bigFile.csv:

   AA      BB      CC       DD     EE      FF    GG      HH
   12      53     115       10     3       3     186     1
   12      53     01e       23     3       2             1
   12      53     0ce       65     1       3             1
   12      53     173       73     4       2             1
   12      59     115       0      3       3     186     1
   12      59     125       0      3       3     186     1
   12      61     01e       23     3       2             1
   12      61     b6f       0      1       1             1
   12      61     b1b       0      6       5     960     1
   12             68b       95     3       5     334     0
   12             31a       31     2       2             0
   12             221       0      4       5             0
   12             12b       25     5       4     215     0
   12             a10       36     5       1             0      

Mis archivos de resultados esperados serían los siguientes:

53.csv:

   AA      BB      CC       DD     EE      FF    GG      HH
   12      53     115       10     3       3     186     1
   12      53     01e       23     3       2             1
   12      53     0ce       65     1       3             1
   12      53     173       73     4       2             1
   12             68b       95     3       5     334     0
   12             31a       31     2       2             0
   12             221       0      4       5             0
   12             12b       25     5       4     215     0
   12             a10       36     5       1             0      

59.csv:

   AA      BB      CC       DD     EE      FF    GG      HH
   12      59     115       0      3       3     186     1
   12      59     125       0      3       3     186     1
   12             68b       95     3       5     334     0
   12             31a       31     2       2             0
   12             221       0      4       5             0
   12             12b       25     5       4     215     0
   12             a10       36     5       1             0      

61.csv:

   AA      BB      CC       DD     EE      FF    GG      HH
   12      61     01e       23     3       2             1
   12      61     b6f       0      1       1             1
   12      61     b1b       0      6       5    960      1
   12             68b       95     3       5    334      0
   12             31a       31     2       2             0
   12             221       0      4       5             0
   12             12b       25     5       4    215      0
   12             a10       36     5       1             0      

Respuestas a la pregunta(2)

Su respuesta a la pregunta