pandas.DataFrame.select_dtypes

Nombre completo
pandas.DataFrame.select_dtypes
Librería
pandas
Sintaxis

DataFrame.select_dtypes(
    include = None,
    exclude = None
)

Descripción

El método de un dataframe select_dtypes devuelve el subconjunto del dataframe formado por las columnas de los tipos especificados, pudiendo especificarse los tipos que se quieren seleccionar y/o aquellos que se quieren excluir.

Los tipos pueden referenciarse por su nombre (np.number, por ejemplo) o por una cadena de texto ("category", por ejemplo).

  • Si queremos seleccionar todos los tipos numéricos deberemos usar np.number o "number".
  • El tipo object devuelve todas las columnas de tipo objeto, incluyendo los textos.
  • Para seleccionar fechas podemos usar np.datetime64, "datetime" o "datetime64".
  • Para seleccionar timedeltas podemos usar np.timedelta64, "timedelta" o "timedelta64".
  • Si queremos seleccionar los tipos categóricos de pandas deberemos usar "category".
  • Para seleccionar los tipos datetimezn de pandas podemos usar "datetimetz" o "datetime64[ns, tz]".
Parámetros
  • include: Tipo o lista de tipos que se quieren incluir en la selección.
  • exclude: Tipo o lista de tipos que se quieren excluir de la selección.

 

    Resultado

    El método select_dtypes devuelve una vista del dataframe original con formato DateTime (con independencia del número de columnas devueltas).

    Ejemplos

    Si partimos del dataset tips proveído por seaborn:

    tips = sns.load_dataset("tips")
    tips.head()

    Dataset tips de seaborn

    ...podríamos seleccionar solo los campos numéricos (con independencia de su tipo exacto) con el siguiente código:

    tips_number = tips.select_dtypes(np.number)
    tips_number.head()

    Columnas de tipo numérico

    En el caso de proporcionar tanto el parámetro include como el exclude, se seleccionarán los campos que cumplan ambos criterios. Por ejemplo, el dataset tips incluye datos numéricos de tipos float e int:

    tips.dtypes

    total_bill     float64
    tip            float64
    sex           category
    smoker        category
    day           category
    time          category
    size             int64
    dtype: object

    Si incluimos los tipos numéricos y excluimos el tipo float, el resultado incluye solo la columna "size":

    tips_number = tips.select_dtypes(include = np.number, exclude = float)
    tips_number.head()

    Función df.select_dtypes

    Si, por el contrario, incluimos solo el tipo float pero excluimos los tipos numéricos, el resultado es un dataframe vacío:

    tips_number = tips.select_dtypes(include = float, exclude = np.number)
    tips_number.head()

    Función df.select_dtypes

    Enviado por admin el Vie, 06/11/2020 - 13:36