Cómo seleccionar columnas con Pandas


Mientras trabaja en proyectos de ciencia de datos, generalmente obtiene una gran cantidad de datos. Pero es posible que deba trabajar solo con un subconjunto de columnas de los datos. Esta selección de datos necesarios se realiza para simplificar las tareas. Además, las velocidades de cálculo también se mejoran al trabajar con un conjunto de datos más pequeño. Hay varias maneras de seleccionar columnas de trama de datos, incluyendo locilocfilter, etc. Este post cubre todos los métodos con ejemplos.

Crear un conjunto de datos de muestra

Comience creando un marco de datos de pandas simple como se muestra a continuación. Tiene 6 columnas.

# Import packages
import pandas as pd

# Create a dataframe
df = pd.DataFrame(
                   data= [['HR', 'Orange', 'Wheat', 30, 165, 4.6],
                        ['DL', 'Purple', 'Flour', 2, 70, 8.3],
                        ['MH', 'Red', 'Mango', 12, 120, 9.0],
                        ['AS', 'Black', 'Apple', 4, 80, 3.3],
                        ['GJ', 'Blue', 'Milk', 32, 180, 1.8],
                        ['KL', 'Green', 'Melon', 33, 172, 9.5],
                        ['PB', 'Magenta', 'Beans', 69, 150, 2.2]],

                    columns=['State', 'Color', 'Food', 'Average Age', 'Average Height', 'Score']
                )
df

Crear marco de datos

1. Selección de columna básica

Una de las formas más básicas en pandas para seleccionar columnas del marco de datos es pasando la lista de columnas al operador de indexación del objeto del marco de datos.

# Selecting columns by passing a list of desired columns
df[['Color', 'Score']]

Columna de selección de pandas

2. Selección de columnas mediante la lista de columnas

El dataframe_name.columnsdevuelve la lista de todas las columnas de la trama de datos. Puede usar esto como una de las formas de acceder a múltiples columnas en pandas. Debe pasar la lista modificada de columnas en el operador de indexación del marco de datos. Este método se puede realizar de dos formas:

A. Pasando la lista de columnas divididas

Puede dividir los nombres de columna deseados de la lista de todas las columnas devueltas dataframe_name.columnspor indexación.

# slicing df.columns to access the last two columns of the dataframe

df[df.columns[-2:]]
Pandas Seleccionar columna usando la lista

B. Búsqueda de columnas deseadas usando isin()

La función se usa para verificar si un elemento está presente en la lista. Aquí, la función se puede usar para verificar si el nombre de una columna está presente en la lista, así como la lista de columnas deseadas. Esto ayuda a seleccionar varias columnas de la lista de todas las columnas. La función devuelve una matriz booleana, donde valor denota que el nombre de la columna estaba presente en ambas listas.isin(), the isin()df.columnsTrue

# Creating the boolean mask
booleanMask = df.columns.isin(['State', 'Food'])

# saving the selected columns 
selectedCols = df.columns[booleanMask]

# selecting the desired columns
df[selectedCols]

Pandas Seleccionar columna usando la función isin

3. Usar .loc y .iloc para seleccionar columnas por nombre o posición

Los pandas y los indexadores se pueden usar con el marco de datos de pandas para reducir un marco de datos grande en un marco de datos pequeño. Estos indexadores se pueden utilizar para la selección de filas y columnas..loc.iloc

A. Usando indexador.loc

The loctoma nombres de columnas o listas de columnas y devuelve una fila o un marco de datos. El indexador toma tanto filas como columnas. Por lo tanto, para seleccionar solo columnas del marco de datos, puede dejar la división de filas como :, lo que seleccionará todas las filas del marco de datos.

Para la división de columnas, puede pasar el nombre de la columna que se seleccionará.

# .loc single column selection 
df.loc[:, 'Food' ]

0    Wheat
1    Flour
2    Mango
3    Apple
4     Milk
5    Melon
6    Beans
Name: Food, dtype: object

Si desea seleccionar varias columnas, pase una lista de columnas.

# .loc multiple column selection
df.loc[:, ['State', 'Food'] ]
Pandas Seleccionar columna usando loc

B. Usando indexador.iloc

The ilocindexador es similar al indexador. La única diferencia es que toma índices de columnas o índices de listas de columnas y devuelve una fila o marco de datos..lociloc

Aquí también, puede dejar la división de filas :para seleccionar todas las filas y para la división de columnas, puede pasar los índices de la columna o una lista de índices de las columnas que se seleccionarán.

# .iloc single column selection 
df.iloc[:, 0]

0    HR
1    DL
2    MH
3    AS
4    GJ
5    KL
6    PB
Name: State, dtype: object

# .iloc single column selection 
df.iloc[:, [0, 2, 3] ]
Pandas Seleccionar columna usando iloc

4. Usar métodos de filtro para seleccionar columnas que contienen ciertas palabras.

Puede usar la función de filtro del marco de datos de pandas para seleccionar columnas que contengan una cadena específica en los nombres de las columnas.

El parámetro likede la función define esta cadena específica. Si el nombre de una columna contiene la cadena especificada, esa columna se seleccionará y se devolverá el marco de datos..filter

# selecting columns where column name contains 'Average' string
df.filter(like='Average')

5. Pandas Selecciona columnas según su tipo de datos.

El marco de datos de Pandas tiene la función select_dtypes, que tiene un includeparámetro. Especifique el tipo de datos de las columnas que desea seleccionar usando este parámetro. Esto puede resultarle útil si desea seleccionar solo columnas de tipos de datos específicos del marco de datos.

# selecting integer valued columns
df.select_dtypes(include=['int64'])
Selección basada en el tipo de datos

Consejos prácticos

  • También puede seleccionar columnas basadas en reglas de expresiones regulares. Utilice el regexparámetro en la función de filtro para obtener columnas donde los nombres de columna se evalúan como Verdadero en una expresión dada.
  • La selección de columnas según los tipos de datos puede resultar útil al realizar un análisis exploratorio de datos. Tendrá diferentes tipos de datos separados, lo que eliminará el proceso de crear manualmente la lista de columnas para diferentes tipos de datos.

Anuncio publicitario

Cursos gratuitos sobre habilidades digitales


Si quiere mejorar sus habilidades digitales o aprender nuevas herramientas para su desarrollo personal o profesional Universitas Telefónica y Fundación Telefónica ofrecen constantemente muchos  MOOC online y gratuitos de carácter flexible sobre habilidades digitales y nuevas herramientas para el desarrollo personal o profesional.

La temática de casi todos estos cursos, que no requieren de conocimientos previos, es muy diversa y la duración varía entre 10 horas  hasta  8 semanas, pudiendo recibir certificado de superación del curso.

Algunos de los cursos propuestos gratuitos mas interesantes  son  «Conectando el futuro con Fibra Óptica» ,Introducción a la programación. Descubre el lenguaje de la era digital» (ambos  ya van por su tercera edición ) o, «Machine learning» ,»Gestión de proyectos con metodologías Ágiles y enfoques Lean» entre otros , pero constantemente se están proponiendo nuevos cursos desde la  plataforma  .

Veamos un resumen de algunos de estos cursos gratuitos que a día de hoy podemos empezar  a cursar:

 

Conectando el futuro con Fibra Óptica

Veremos qué es y cómo funciona la fibra óptica, como se realiza el despliegue en la ciudad, y mo llegamos hasta los edificios y la tipología de los mismos, la instalación en domicilio de cliente.
Aprenderemos tambien  a realizar las medidas necesarias para asegurar el correcto funcionamiento de la red, así como localizar las posibles incidencias y la forma de solucionarlas.
Conoceremos asimismo los tipos de cables que se van a utilizar dependiendo del tipo de instalación y una correcta identificación de las fibras.
Por  ultimo tambien aprenderemos a utilizar correctamente las herramientas específicas de fibra óptica.

La duración estimada es de 6 semanas (30 horas de duración estimadas) y la fecha tope para apuntarnos a este interesante curso es el 18 de Abril

Enlace al curso  aqui

 

Machine learning

Cada vez vemos más aplicaciones de esta técnica a nuestro alrededor, incluso en actos tan cotidianos como ir a un cajero o llamar a un taxi. Pero ¿nos hemos  preguntado alguna vez cómo funciona el aprendizaje automático? ¿Qué informaciones extrae de nuestros datos?

En este curso introductorio de Empleo Digital, una iniciativa de Fundación Telefónica,podemos  ver algunos casos prácticos que nos ayudarán a responder a estas preguntas.

Entender los conceptos en que se basa el Machine Learning está al alcance de todos y con este curso podemos satisfacer nuestra  curiosidad entrando  en el fascinante mundo de las máquinas que aprenden por sí mismas.

La duración del curso gratuito es de   4 semanas (20 horas de estudio estimadas) y  el plazo tope de inscripción es el  18 de Abril de 2017

Enlace al curso: aqui

 

Introducción a la programación. Descubre el lenguaje de la era digital

Este curso está diseñado para gente que nunca se había planteado programar, pero quiere empezar. Así que no se asuste , si ha llegado hasta aquí es que ya tiene interés y este curso es para usted.

Con esta iniciación básica se pueden dar los  primeros pasos en el lenguaje de la era digital pudiendo  comprobar que comenzar a programar es sencillo.

 

La duración prevista del curso es de 6 semanas (30 horas estimadas de estudio) y el plazo de inscripcion tope es el 13 de Marzo, asi quesi  le interesa  no lo dude en apuntarse cuanto antes

Link al curso aqui

 

Gestión de proyectos con metodologías Ágiles y enfoques Lean.

En este curso se explica  qué son las metodologías ágiles, el contexto en el que surgen y su aplicación a los proyectos actuales. ayudando a comprender sus diferencias con respecto a otros enfoques más tradicionales para poder ver qué ventajas puede tener su aplicación. Otro de los ejes del curso es conocer qué es Scrum en profundidad, sus roles, artefactos y reuniones más importantes asi como conocer qué es Kanban y su comparación con Scrum

También se presentan algunos métodos de estimación más usados en estos enfoques así como  la opinión de expertos en la materia.

En este  un curso de Fundación Telefónica, todo el que complete el 100% del curso recibirá de forma gratuita el certificado de superación del curso.

 

La  duración estimada del curso es de  8 semanas (40 horas estimadas de estudio) y el plazo tope es el 28 de Marzo de 2017

Link al curso:  aqui

 

 

 

 

Los  itinerarios de los cursos “Introducción al Machine Learning”, “Gestión de proyectos con metodologías ágiles” e “Introducción a la programación”– se enmarcan en el programa de Empleabilidad de Fundación Telefónica, que tiene como objetivo mejorar las capacidades y competencias digitales de los jóvenes en la nueva realidad del mercado laboral para que tengan más oportunidades de empleo, desarrollo profesional y personal. Este  programa trabaja sobre dos ejes: la Empleabilidad para la sociedad digital y el Emprendimiento social.

Como nota informativa  ,la Fundación Telefónica formó y preparó a 240.000 jóvenes en 2016 en Europa y América Latina.

Si necesita ayuda para inscribirse, ofrecen ayuda contactando  con el soporte técnico de MiríadaX  o en caso de duda sobre los programas mencionados u otros no comentados en este post,  escribiendo a  [email protected]