CaseList Class (Python)

La clase CaseList proporciona acceso a los casos de un conjunto de datos, lo que le permite leer los casos existentes, modificar los valores de los casos y añadir nuevos casos. Obtiene una instancia de la clase CaseList de la propiedad cases de la clase Dataset , como en:

datasetObj = spss.Dataset('data1')
caseListObj = datasetObj.cases

El número de casos en una instancia de CaseList , que también es el número de casos en el conjunto de datos asociado, está disponible utilizando la función len , como en:

len(caseListObj)

Nota: Una instancia de la clase CaseList sólo se puede crear dentro de un paso de datos y no se puede utilizar fuera del paso de datos en el que se ha creado. Los pasos de datos se inician con la función spss.StartDataStep .

Bucle a través de los casos en una instancia de CaseList. Puede realizar un bucle a través de los casos en una instancia de la clase CaseList . Por ejemplo:

for row in datasetObj.cases:
   print row
  • En cada iteración del bucle, fila es un caso del conjunto de datos asociado.

Nota: La clase CaseList no proporciona ningún manejo especial para conjuntos de datos con grupos de división; simplemente devuelve todos los casos del conjunto de datos. Si necesita diferenciar los datos en grupos divididos separados, considere la posibilidad de utilizar la clase Cursor para leer los datos, o puede que desee utilizar la función spss.GetSplitVariableNames para procesar manualmente los grupos divididos.

Acceso a casos y valores de caso específicos. Puede acceder a un caso específico o a un rango de casos, y puede especificar una variable o un rango de variables dentro de esos casos. El resultado es una lista, incluso si se accede al valor de una única variable dentro de un solo caso.

  • Los valores perdidos del sistema se devuelven como el tipo de datos Python Ninguno.
  • Los valores de las variables con los formatos TIME y DTIME se devuelven como enteros que representan el número de segundos en el intervalo de tiempo.
  • De forma predeterminada, los valores de las variables con formatos de fecha o fecha y hora se devuelven como enteros que representan el número de segundos a partir del 14 de octubre de 1582. Puede especificar que los valores de estas variables se conviertan en objetos Python datetime.datetime con el argumento cvtDates en la clase Dataset . Consulte el tema Clasespss.Dataset (Python) para obtener más información.

Ejemplo: Acceso a un caso único

Se accede a los valores de caso especificando el número de caso, empezando por 0, como en:

oneCase = datasetObj.cases[0]

Los valores de caso se devuelven como una lista donde cada elemento de la lista es el valor de la variable asociada.

Ejemplo: Acceso a un valor único dentro de un caso

Puede acceder al valor de una única variable dentro de un caso especificando el número de caso y el índice de la variable (los valores de índice representan la posición en el conjunto de datos activo, empezando por 0 para la primera variable en orden de archivo). A continuación se obtiene el valor de la variable con el índice 1 para el número de caso 0.

oneValue = datasetObj.cases[0,1]

Tenga en cuenta que oneValue es una lista con un único elemento.

Ejemplo: Acceso a un rango de valores

Puede utilizar la notación de sección Python para especificar rangos de casos y rangos de variables dentro de un caso. Los valores para varios casos se devuelven como una lista de elementos, cada uno de los cuales es una lista de valores para un solo caso.

# Get the values for cases 0,1, and 2
data = datasetObj.cases[0:3]
# Get the values for variables with index values 0,1, and 2 
# for case number 0
data = datasetObj.cases[0,0:3]
# Get the value for the variable with index 1 for case numbers 0,1, and 2
data = datasetObj.cases[0:3,1]
# Get the values for the variables with index values 1,2 and 3 
# for case numbers 4,5, and 6
data = datasetObj.cases[4:7,1:4] 

Ejemplo: valores de índice negativos

La indexación de casos da soporte al uso de índices negativos, tanto para el número de caso como para el índice de variables. A continuación se obtiene el valor de la segunda a última variable (en orden de archivo) para el último caso.

value = datasetObj.cases[-1,-2]

Modificación de valores de caso. Puede modificar los valores de un caso específico o un rango de casos, y puede establecer el valor de una variable determinada o un rango de variables dentro de esos casos.

  • Los valores de Ninguno se convierten en valores perdidos del sistema para variables numéricas y blancos para variables de cadena.
  • Los valores de variables numéricas con un formato de fecha o fecha y hora deben especificarse como objetos Python time.struct_time o datetime.datetime , que a continuación se convierten al valor adecuado de IBM® SPSS® Statistics . Los valores de las variables con los formatos TIME y DTIME deben especificarse como el número de segundos en el intervalo de tiempo.

Ejemplo: Establecimiento de valores para un solo caso

Los valores para un solo caso se proporcionan como una lista o tupla de valores. El primer elemento corresponde a la primera variable en orden de archivo, el segundo elemento corresponde a la segunda variable en orden de archivo, y así sucesivamente. Los números de caso empiezan desde 0.

datasetObj.cases[1] = [35,150,100,2110,19,2006,3,4]

Ejemplo: Establecimiento de un valor único dentro de un caso

Puede establecer el valor para una única variable dentro de un caso especificando el número de caso y el índice de la variable (los valores de índice representan la posición en el conjunto de datos activo, empezando por 0 para la primera variable en orden de archivo). A continuación se establece el valor de la variable con el índice 0 para el número de caso 12 (los números de caso empiezan desde 0).

datasetObj.cases[12,0] = 14

Ejemplo: Establecimiento de rangos de valores

Puede utilizar la notación de sección Python para especificar rangos de casos y rangos de variables dentro de un caso. Los valores para varios casos se especifican como una lista o tupla de elementos, cada uno de los cuales es una lista o tupla de valores para un solo caso.

# Set the values for cases 0,1, and 2
datasetObj.cases[0:3] = ([172,'m',27,34500],[67,'f',32,32500],
                         [121,'f',37,23000])
# Set the values for variables with index values 5,6, and 7 for 
# case number 34
datasetObj.cases[34,5:8] = [70,1,4]
# Set the value for the variable with index 5 for case numbers 0,1, and 2
datasetObj.cases[0:3,5] = [70,72,71]
# Set the values for the variables with index values 5 and 6 for 
# case numbers 4,5, and 6
datasetObj.cases[4:7,5:7] = ([70,1],[71,2],[72,2])

Ejemplo: valores de índice negativos

La indexación de casos da soporte al uso de índices negativos, tanto para el número de caso como para el índice de variables. A continuación se especifica el valor de la segunda a última variable (en orden de archivo) para el último caso.

datasetObj.cases[-1,-2] = 8

Supresión de casos. Puede suprimir un caso especificado del objeto CaseList , lo que da como resultado la supresión de ese caso del conjunto de datos asociado. Por ejemplo:

del datasetObj.cases[0]