Utiliza Python Pandas y selecciona columnas de los DataFrames. ¡Sigue nuestro tutorial con ejemplos de código y aprende hoy mismo distintas formas de seleccionar tus datos!
Si tienes un DataFrame y quieres acceder o seleccionar unas pocas filas/columnas concretas de ese DataFrame, puedes utilizar corchetes u otros métodos avanzados como loc y iloc.
Seleccionar columnas con corchetes
Vamos a suponer quieres seleccionar la columna country del DataFrame brics. Para ello, escribirás brics y a continuación la etiqueta de la columna dentro de los corchetes.
Seleccionar una columna
country capital area population
BR Brazil Brasilia 8.516200.40RU Russia Moscow 17.100143.50IN India New Dehli 3.2861252.00CH China Beijing 9.5971357.00SA South Africa Pretoria 1.22152.98Con la tecnología de
Como podemos ver en el resultado anterior, ¡se trata de una serie pandas! Las series pueden considerarse como una matriz unidimensional que puede etiquetarse igual que un DataFrame.
Si quieres seleccionar datos y guardarlos en un DataFrame, tendrás que utilizar corchetes dobles:
country capital
BR Brazil Brasilia
RU Russia Moscow
IN India New Dehli
CH China Beijing
SA South Africa Pretoria
Con la tecnología de
Si te fijas bien, en realidad estás poniendo una lista con etiquetas de columnas dentro de otro conjunto de corchetes y acabas con un sub DataFrame que sólo contiene las columnas country y capital.
Seleccionar filas utilizando corchetes
Los corchetes pueden hacer algo más que seleccionar columnas. También puedes utilizarlos para obtener filas, u observaciones, de un DataFrame.
Ejemplo:
Sólo puedes seleccionar filas utilizando corchetes si especificas un corte, como 0:4. Además, aquí estás utilizando los índices enteros de las filas, ¡no las etiquetas de las filas!
Para obtener la segunda, tercera y cuarta filas de brics DataFrame, utilizamos el corte 1 a 4. Recuerda que el final del corte es exclusivo, y que el índice empieza en cero.
country capital area population
RU Russia Moscow 17.100143.50IN India New Dehli 3.2861252.00CH China Beijing 9.5971357.00Con la tecnología de
Estos corchetes funcionan, pero sólo ofrecen una funcionalidad limitada. Lo ideal sería algo parecido a las matrices 2D Numpy, en las que también se utilizan corchetes. El índice, o corte, antes de la coma se refiere a las filas, y el corte después de la coma se refiere a las columnas.
country Russia
capital Moscow
area 17.1
population 143.5Name:RU,dtype: object
Con la tecnología de
Obtenemos una serie pandas que contiene toda la información de las filas; aunque, de forma inconveniente, se muestra en diferentes líneas. Para obtener un DataFrame, tenemos que poner la cadena RU en otro par de corchetes. También podemos seleccionar varias filas a la vez. Supón que quieres incluir también a India y China. Sólo tienes que añadir esas etiquetas de fila a la lista.
country capital area population
RU Russia Moscow 17.100143.50IN India New Dehli 3.2861252.00CH China Beijing 9.5971357.00Con la tecnología de
La diferencia entre utilizar un loc y los corchetes básicos es que puedes ampliar la selección con una coma y una especificación de las columnas de interés.
Seleccionar filas y columnas
Ampliemos la llamada anterior para incluir sólo las columnas country y capital. Añadimos una coma y enumeramos las etiquetas de las columnas que queremos conservar. Se devuelve la intersección.
country capital
RU Russia Moscow
IN India New Dehli
CH China Beijing
Con la tecnología de
También puedes utilizar loc para seleccionar todas las filas pero sólo un número determinado de columnas. Simplemente sustituye la primera lista que especifica las etiquetas de las filas por dos puntos. Un trozo que va de principio a fin. Esta vez, recuperamos todas las filas pero sólo dos columnas.
Seleccionar todas las filas y columnas específicas
country capital area population
RU Russia Moscow 17.100143.50IN India New Dehli 3.2861252.00CH China Beijing 9.5971357.00Con la tecnología de
Seleccionar filas y columnas
De forma similar a loc, también podemos seleccionar tanto filas como columnas utilizando iloc. Aquí seleccionaremos las filas de Rusia, India y China y las columnas country y capital.
country capital
BR Brazil Brasilia
RU Russia Moscow
IN India New Dehli
CH China Beijing
SA South Africa Pretoria
Con la tecnología de
loc y iloc son bastante similares. La única diferencia es cómo te refieres a columnas y filas.
Ejemplo interactivo sobre la selección de un subconjunto de datos
En el siguiente ejemplo, los datos de los coches se importan desde un archivo CSV como un DataFrame de Pandas. Para seleccionar sólo los cars_per_cap column de los coches, puedes utilizar:
La versión de corchetes simples da una Serie Pandas; la versión de corchetes dobles da un DataFrame Pandas.
Utilizarás corchetes simples para imprimir la columna country de cars como una Serie Pandas.
A continuación, utiliza corchetes dobles para imprimir la columna country de cars como un Pandas DataFrame.
Por último, utiliza los corchetes dobles para imprimir un DataFrame con las columnas country y drives_right de cars, en este orden.
# Import cars dataimport pandas as pd
cars = pd.read_csv('cars.csv', index_col =0)# Print out country column as Pandas Seriesprint(cars['country'])# Print out country column as Pandas DataFrameprint(cars[['country']])# Print out DataFrame with country and drives_right columnsprint(cars[['country','drives_right']])Con la tecnología de
Cuando ejecutamos el código anterior, se obtiene el siguiente resultado:
US United States
AUS Australia
JPN Japan
IN India
RU Russia
MOR Morocco
EG Egypt
Name: country,dtype: object
country
US United States
AUS Australia
JPN Japan
IN India
RU Russia
MOR Morocco
EG Egypt
country drives_right
US United States True
AUS Australia False
JPN Japan False
IN India False
RU Russia True
MOR Morocco True
EG Egypt True
Con la tecnología de
Explora el análisis de datos con Python. Los DataFrames de Pandas facilitan la manipulación de tus datos, desde la selección o sustitución de columnas e índices hasta la remodelación de tus datos.
Aprende a seleccionar fácilmente varias columnas de una tabla de base de datos en SQL, o a seleccionar todas las columnas de una tabla en una simple consulta.
Importar datos es el primer paso de cualquier proyecto de ciencia de datos. Aprende por qué los científicos de datos actuales prefieren la función pandas read_csv() para hacerlo.
Si tienes un DataFrame y quieres acceder o seleccionar unas pocas filas/columnas concretas de ese DataFrame, puedes utilizar corchetes u otros métodos avanzados como
locyiloc.Seleccionar columnas con corchetes
Vamos a suponer quieres seleccionar la columna country del DataFrame
brics. Para ello, escribirásbricsy a continuación la etiqueta de la columna dentro de los corchetes.Seleccionar una columna
Comprobar el tipo de objeto
Comprobemos el tipo del objeto que se devuelve con la función tipo.
Como podemos ver en el resultado anterior, ¡se trata de una serie
pandas! Las series pueden considerarse como una matriz unidimensional que puede etiquetarse igual que un DataFrame.Si quieres seleccionar datos y guardarlos en un DataFrame, tendrás que utilizar corchetes dobles:
Si comprobamos el tipo de esta salida, ¡es un DataFrame! Pero con una sola columna.
Seleccionar varias columnas
Puedes ampliar esta llamada para seleccionar dos columnas. Intentemos seleccionar
countryycapital.Si te fijas bien, en realidad estás poniendo una lista con etiquetas de columnas dentro de otro conjunto de corchetes y acabas con un sub DataFrame que sólo contiene las columnas
countryycapital.Seleccionar filas utilizando corchetes
Los corchetes pueden hacer algo más que seleccionar columnas. También puedes utilizarlos para obtener filas, u observaciones, de un DataFrame.
Ejemplo:
Sólo puedes seleccionar filas utilizando corchetes si especificas un corte, como
0:4. Además, aquí estás utilizando los índices enteros de las filas, ¡no las etiquetas de las filas!Para obtener la segunda, tercera y cuarta filas de
bricsDataFrame, utilizamos el corte 1 a 4. Recuerda que el final del corte es exclusivo, y que el índice empieza en cero.Estos corchetes funcionan, pero sólo ofrecen una funcionalidad limitada. Lo ideal sería algo parecido a las matrices 2D
Numpy, en las que también se utilizan corchetes. El índice, o corte, antes de la coma se refiere a las filas, y el corte después de la coma se refiere a las columnas.Ejemplo de matriz 2D
Numpy:Si quieres hacer algo parecido con
pandas, tienes que mirar de utilizar las funcioneslocyiloc.loc: basado en etiquetasiloc: basado en la posición de los integerlocFunciónloces una técnica para seleccionar partes de tus datos basándote en etiquetas. Veamos el DataFrame de brics y obtengamos las filas de Rusia.Para ello, pondrás la etiqueta de interés entre corchetes después de
loc.Seleccionar filas
Obtenemos una serie
pandasque contiene toda la información de las filas; aunque, de forma inconveniente, se muestra en diferentes líneas. Para obtener un DataFrame, tenemos que poner la cadenaRUen otro par de corchetes. También podemos seleccionar varias filas a la vez. Supón que quieres incluir también a India y China. Sólo tienes que añadir esas etiquetas de fila a la lista.La diferencia entre utilizar un
locy los corchetes básicos es que puedes ampliar la selección con una coma y una especificación de las columnas de interés.Seleccionar filas y columnas
Ampliemos la llamada anterior para incluir sólo las columnas
countryycapital. Añadimos una coma y enumeramos las etiquetas de las columnas que queremos conservar. Se devuelve la intersección.También puedes utilizar
locpara seleccionar todas las filas pero sólo un número determinado de columnas. Simplemente sustituye la primera lista que especifica las etiquetas de las filas por dos puntos. Un trozo que va de principio a fin. Esta vez, recuperamos todas las filas pero sólo dos columnas.Seleccionar todas las filas y columnas específicas
ilocFunciónLa función
ilocte permite crear subconjuntos depandasDataFrames en función de su posición o índice.Seleccionar filas
Utilicemos los mismos datos y ejemplos similares que en
loc. Empecemos por la fila de Rusia.Para obtener las filas de Rusia, India y China. Ahora puedes utilizar una lista de índices
1, 2, 3.Seleccionar filas y columnas
De forma similar a
loc, también podemos seleccionar tanto filas como columnas utilizandoiloc. Aquí seleccionaremos las filas de Rusia, India y China y las columnascountryycapital.Seleccionar todas las filas y columnas específicas
Por último, si quisieras seleccionar todas las filas pero quedarte sólo con las columnas
countryycapital, puedes hacerlo:locyilocson bastante similares. La única diferencia es cómo te refieres a columnas y filas.Ejemplo interactivo sobre la selección de un subconjunto de datos
En el siguiente ejemplo, los datos de los coches se importan desde un archivo CSV como un DataFrame de Pandas. Para seleccionar sólo los
cars_per_cap columnde los coches, puedes utilizar:La versión de corchetes simples da una Serie Pandas; la versión de corchetes dobles da un DataFrame Pandas.
countrydecarscomo una Serie Pandas.countrydecarscomo un Pandas DataFrame.countryydrives_rightdecars, en este orden.Cuando ejecutamos el código anterior, se obtiene el siguiente resultado:
Pruébalo tú mismo.
Para saber más sobre los pandas, consulta este vídeo de nuestro curso Python Intermedio.
Este contenido ha sido extraído del curso de Python Intermedio de DataCamp, impartido por Hugo Bowne-Anderson.