El objeto DataFrame es uno de los elementos clave de la librería Pandas. En esta entrada vamos a ver las opciones que existen para crear un DataFrame vacío y agregar datos. Lo que nos enseñara además algunos de los métodos que existen para modificar el contenido de un DataFrame.
Un DataFrame vacío se puede crear utilizando el constructor DataFrame
de Pandas sin ningún parámetro. Algo que nos devuelve un objeto sin columnas ni índices.
import pandas as pd df = pd.DataFrame()
Empty DataFrame Columns: [] Index: []
Ahora para agregar datos, solamente se tiene que asignar a una nueva serie los datos que deseemos. Por ejemplo, se puede crear un DataFrame con nombre, apellidos y géneros de unos usuarios.
df['first_name'] = ['Josy', 'Vaughn', 'Neale', 'Teirtza'] df['last_name'] = ['Clarae', 'Halegarth', 'Georgievski', 'Teirtza'] df['gender'] = ['Female', 'Male', 'Male', 'Female']
first_name last_name gender 0 Josy Clarae Female 1 Vaughn Halegarth Male 2 Neale Georgievski Male 3 Teirtza Teirtza Female
Como se puede ver en el ejemplo, no es necesario definir columnas antes de usar estas, algo es muy útil cuando se desea agregar nuevas series a un DataFrame existente.
Quizás en la mayoría de los casos no vamos a querer partir de un DataFrame completamente vacío. Sino que ya conoceremos el nombre de las series que queremos usar en este. Así se puede crear un DataFrame vacío con columnas indicando mediante el parámetro columns
los nombres de estas. Por ejemplo, para el caso anterior se puede crear.
df = pd.DataFrame(columns=['first_name', 'last_name', 'gender'])
Empty DataFrame Columns: [first_name, last_name, gender] Index: []
Ahora, se puede agregar registro a registro al DataFrame utilizando para ellos el método append
. Un método al que es necesario pasarle un diccionario con los valores e indicar la opción ignore_index
a verdadero. Así se puede agregar registros al DataFrame de la siguiente manera.
df = df.append({'first_name': 'Josy', 'last_name':'Clarae', 'gender':'Female'}, ignore_index=True) df = df.append({'first_name': 'Vaughn', 'last_name':'Halegarth', 'gender':'Male'}, ignore_index=True)
first_name last_name gender 0 Josy Clarae Female 1 Vaughn Halegarth Male
También es posible crear un DataFrame vacío en Pandas con las columnas e índices ya asignados. En este caso todos los registros del DataFrame serán NaN
, ya que no tendrán ningún valor asignado.
df = pd.DataFrame(columns=['first_name', 'last_name', 'gender'], index=range(3))
first_name last_name gender 0 NaN NaN NaN 1 NaN NaN NaN 2 NaN NaN NaN
En este caso la forma más fácil de asignar los registros es mediante la propiedad iloc
de los DataFrames. Una propiedad con la que se puede asignar fila a fila utilizando listas o tuplas. Así se puede rellenar los datos del objeto que acabamos de crear de la siguiente manera.
df.iloc[0] = ('Josy', 'Clarae', 'Female') df.iloc[1] = ['Vaughn', 'Halegarth', 'Male'] df.iloc[2] = ('Neale', 'Georgievski', 'Male')
first_name last_name gender 0 Josy Clarae Female 1 Vaughn Halegarth Male 2 Neale Georgievski Male
Donde se puede ver que asignar una lista o una tupla a las filas es algo indiferente a efectos prácticos.
En la entrada de hoy hemos visto cómo crear un DataFrame vacío y agregar datos en Pandas de tres modos diferentes. Creando un DataFrame vacío, un DataFrame con columnas y un DataFrame con columnas e índices. Agregando además los datos de una forma diferente en cada caso. ¿Cuál de los tres métodos os parece más adecuado? Podéis dejar vuestras opiniones en los comentarios.
En ciencia de datos y estadística, los promedios y porcentajes son herramientas fundamentales para resumir…
Las bases de datos son el corazón de casi cualquier sistema de información moderno. Ya…
En ciencia de datos, pocas cosas llaman más la atención de los científicos de datos…
Calcular adecuadamente el tamaño de la muestra es una parte esencial en el diseño de…
Hoy en día, cuando pensamos en ciencia de datos, lo primero que nos viene a…
Ampliar el espacio de almacenamiento en un sistema Linux es una tarea habitual y crítica…
This website uses cookies.