Equivalente de R's sapply con una condición en Python

Equivalente de R's sapply con una condición en Python

Estoy tratando de convertir un código R a Python y necesito encontrar un equivalente de sapply en python.

data <- data[, sapply(data, class) != "logical"]

Entonces, lo que hace es eliminar columnas lógicas, si las hay, del conjunto de datos.

Para los siguientes datos:

Name    Designation         YrofExp     True DS
V       Data Scientist      15          TRUE
P       Data Scientist      10          TRUE
S       Senior Data Analyst 6           FALSE
H       Senior Data Analyst 8           FALSE

str(data)
'data.frame':   4 obs. of  4 variables:
 $ ï..Name    : Factor w/ 4 levels "H","P","S","V": 4 2 3 1
 $ Designation: Factor w/ 2 levels "Data Scientist",..: 1 1 2 2
 $ Yr.of.Exp  : int  15 10 6 8
 $ True.DS    : logi  TRUE TRUE FALSE FALSE
> data <- data[, sapply(data, class) != "logical"]
> str(data)
'data.frame':   4 obs. of  3 variables:
 $ ï..Name    : Factor w/ 4 levels "H","P","S","V": 4 2 3 1
 $ Designation: Factor w/ 2 levels "Data Scientist",..: 1 1 2 2
 $ Yr.of.Exp  : int  15 10 6 8

Sé que la función map se puede usar como map(function,data) pero no estoy exactamente seguro de cómo en este caso.

¡Entonces, por favor, alguien puede ayudarme!

Mostrar la mejor respuesta

map() es más o menos equivalente a sapply o lapply aunque una expresión de comprensión/generador de lista podría ser más pitónica, ¿puede proporcionar algunos datos de muestra y la transformación deseada?

Para eliminar columnas de un marco de datos por tipo, puede usar la función 'select_dtypes' en su marco de datos:

data.select_dtypes(exclude=['bool'])

esto es hermoso.. muchas gracias!