Valores de bin basados ​​en rangos con pandas.

Tengo varios archivos CSV con valores como este en una carpeta:

El GroupID.csv es el nombre del archivo. Hay varios archivos como este, pero los rangos de valores se definen en el mismo archivo XML. Estoy tratando de agruparlos ¿Cómo puedo hacer eso?

ACTUALIZACIÓN 1: Basado en los comentarios de BobHaffner, he hecho esto

import pandas as pd import glob path =r'path/to/files' allFiles = glob.glob(path + "/*.csv") frame = pd.DataFrame() list_ = [] for file_ in allFiles: df = pd.read_csv(file_,index_col=None, header=None) df['file'] = os.path.basename('path/to/files/'+file_) list_.append(df) frame = pd.concat(list_) print frame 

para obtener algo como esto:

Necesito agrupar los valores basados ​​en las bandejas del archivo XML. Realmente apreciaría cualquier ayuda.

Para pd.cut() su serie, debe usar la función pd.cut() , como esta:

 df['bin'] = pd.cut(df['1'], [0, 50, 100,200]) 0 1 file bin 0 person1 24 age.csv (0, 50] 1 person2 17 age.csv (0, 50] 2 person3 98 age.csv (50, 100] 3 person4 6 age.csv (0, 50] 4 person2 166 Height.csv (100, 200] 5 person3 125 Height.csv (100, 200] 6 person5 172 Height.csv (100, 200] 

Si quiere nombrar las bandejas usted mismo, puede usar el argumento labels= , así:

 df['bin'] = pd.cut(df['1'], [0, 50, 100,200], labels=['0-50', '50-100', '100-200']) 0 1 file bin 0 person1 24 age.csv 0-50 1 person2 17 age.csv 0-50 2 person3 98 age.csv 50-100 3 person4 6 age.csv 0-50 4 person2 166 Height.csv 100-200 5 person3 125 Height.csv 100-200 6 person5 172 Height.csv 100-200