logo

Agregar una nueva columna al DataFrame existente en Pandas

Agregar nuevas columnas a un DataFrame existente es una tarea fundamental en el análisis de datos utilizando pandas . Le permite enriquecer sus datos con información adicional y facilitar un mayor análisis y manipulación. Este artículo explorará varios métodos para agregar nuevas columnas, incluida la asignación simple, elinsert()>método, elassign()>método. Analicemos cómo agregar nuevas columnas al DataFrame existente de Pandas.

¿Qué es Pandas DataFrame?

A Marco de datos de Pandas es una estructura de datos tabular bidimensional, de tamaño variable y potencialmente heterogénea con ejes etiquetados (filas y columnas). Es una estructura de datos fundamental en el ecosistema de ciencia de datos de Python y proporciona una forma poderosa de trabajar con datos tabulares.



Estas son algunas de las características clave de Pandas DataFrame:

  • Representación de datos: Almacena datos en formato de tabla con filas y columnas.
  • Tipos de datos heterogéneos: Puede contener diferentes tipos de datos en diferentes columnas (por ejemplo, enteros, flotantes, cadenas, booleanos).
  • Etiquetado: Cada fila y columna tiene una etiqueta (nombres de índice y columna).
  • Mudable: Permite la manipulación y modificación de datos.
  • Operaciones poderosas: Proporciona varias funciones y métodos para el análisis, manipulación y exploración de datos.
  • Extensible: Se puede personalizar y ampliar con funcionalidades adicionales a través de bibliotecas y funciones definidas por el usuario.

Hay varias formas de agregar una nueva columna a un marco de datos existente en Pandas en Pitón :

  • Crear un marco de datos de muestra
  • Mediante el uso Marco de datos.insertar() método
  • Mediante el uso Marco de datos.asignar() método
  • Usando el diccionario
  • Usando la lista
  • Usando .lugar()
  • Agregar más de una columna en el marco de datos existente

Crear un marco de datos de muestra

Aquí estamos creando un marco de datos de muestra:



Python3






import> pandas as pd> data>=> {>'Name'>: [>'Jai'>,>'Princi'>,>'Gaurav'>,>'Anuj'>],> >'Height'>: [>5.1>,>6.2>,>5.1>,>5.2>],> >'Qualification'>: [>'Msc'>,>'MA'>,>'Msc'>,>'Msc'>]}> df>=> pd.DataFrame(data)> print>(df)>

>

>

Producción:

   Name Height Qualification     0    Jai 5.1 Msc   1    Princi 6.2 MA   2   Gaurav 5.1 Msc   3   Anuj 5.2 Msc>

Tenga en cuenta que la longitud de su lista debe coincidir con la longitud de la columna de índice; de ​​lo contrario, mostrará un error.

Agregue una nueva columna a un Datframe existente usando DataFrame.insert()

Da la libertad de agregar una columna en cualquier posición que queramos y no solo al final. También proporciona diferentes opciones para insertar los valores de la columna.

Python3




import> pandas as pd> # Define a dictionary containing Students data> data>=> {>'Name'>: [>'Jai'>,>'Princi'>,>'Gaurav'>,>'Anuj'>],> >'Height'>: [>5.1>,>6.2>,>5.1>,>5.2>],> >'Qualification'>: [>'Msc'>,>'MA'>,>'Msc'>,>'Msc'>]}> # Convert the dictionary into DataFrame> df>=> pd.DataFrame(data)> # Using DataFrame.insert() to add a column> df.insert(>2>,>'Age'>, [>21>,>23>,>24>,>21>],>True>)> # Observe the result> print>(df)>

>

>

Producción:

  Name Height Age Qualification     0   Jai 5.1 21 Msc   1   Princi 6.2 23 MA   2   Gaurav 5.1 24 Msc   3    Anuj 5.2 21 Msc>

Agregar columnas a Pandas DataFrame usando Dataframe.assign()

Este método creará un nuevo marco de datos con una nueva columna agregada al marco de datos anterior.

Python3




import> pandas as pd> # Define a dictionary containing Students data> data>=> {>'Name'>: [>'Jai'>,>'Princi'>,>'Gaurav'>,>'Anuj'>],> >'Height'>: [>5.1>,>6.2>,>5.1>,>5.2>],> >'Qualification'>: [>'Msc'>,>'MA'>,>'Msc'>,>'Msc'>]}> # Convert the dictionary into DataFrame> df>=> pd.DataFrame(data)> # Using 'Address' as the column name and equating it to the list> df2>=> df.assign(address>=>[>'Delhi'>,>'Bangalore'>,>'Chennai'>,>'Patna'>])> print>(df2)>

>

>

Producción:

   Name Height Qualification address     0    Jai 5.1 Msc Delhi   1    Princi 6.2 MA Bangalore   2    Gaurav 5.1 Msc Chennai   3    Anuj 5.2 Msc Patna>

Pandas agrega una columna al marco de datos usando un diccionario

Podemos usar un diccionario de pitón para agregar una nueva columna en pandas DataFrame. Utilice una columna existente como valores clave y sus valores respectivos serán los valores de una nueva columna.

Python3




# Import pandas package> import> pandas as pd> # Define a dictionary containing Students data> data>=> {>'Name'>: [>'Jai'>,>'Princi'>,>'Gaurav'>,>'Anuj'>],> >'Height'>: [>5.1>,>6.2>,>5.1>,>5.2>],> >'Qualification'>: [>'Msc'>,>'MA'>,>'Msc'>,>'Msc'>]}> # Define a dictionary with key values of> # an existing column and their respective> # value pairs as the # values for our new column.> address>=> {>'Delhi'>:>'Jai'>,>'Bangalore'>:>'Princi'>,> >'Patna'>:>'Gaurav'>,>'Chennai'>:>'Anuj'>}> # Convert the dictionary into DataFrame> df>=> pd.DataFrame(data)> # Provide 'Address' as the column name> df[>'Address'>]>=> address> # Observe the output> print>(df)>

>

>

Producción:

  Name Height Qualification Address     0   Jai 5.1 Msc Delhi   1   Princi 6.2 MA Bangalore   2   Gaurav 5.1 Msc Chennai   3    Anuj 5.2 Msc Patna>

Agregar una nueva columna a un marco de datos de Pandas usando la lista

En este ejemplo, Pandas agrega nuevas columnas de la lista Diríjase a un Pandas DataFrame existente utilizando un diccionario y una lista.

Python3




# Declare a list that is to be converted into a column> address>=> [>'Delhi'>,>'Bangalore'>,>'Chennai'>,>'Patna'>]> # Using 'Address' as the column name> # and equating it to the list> df[>'Address'>]>=> address> print>(df)>

>

>

Producción:

  Name Height Qualification Address     0   Jai 5.1 Msc Delhi   1   Princi 6.2 MA Bangalore   2   Gaurav 5.1 Msc Chennai   3    Anuj 5.2 Msc Patna>

Agregue una nueva columna a un marco de datos de Pandas existente usando Dataframe.loc()

En este ejemplo, crea un Pandas DataFrame llamadodf>con las columnas Nombre, Altura y Calificación y agrega una nueva columna Dirección usando elloc>atributo.

Python3




import> pandas as pd> data>=> {>'Name'>: [>'Jai'>,>'Princi'>,>'Gaurav'>,>'Anuj'>],> >'Height'>: [>5.1>,>6.2>,>5.1>,>5.2>],> >'Qualification'>: [>'Msc'>,>'MA'>,>'Msc'>,>'Msc'>]}> df>=> pd.DataFrame(data)> # Create the list of new column values> address>=> [>'Delhi'>,>'Bangalore'>,>'Chennai'>,>'Patna'>]> # Add the new column using loc> df.loc[:,>'Address'>]>=> address> print>(df)>

>

>

Producción:

  Name Height Qualification Address     0    Jai 5.1 Msc Delhi   1   Princi 6.2 MA Bangalore   2   Gaurav 5.1 Msc Chennai   3   Anuj 5.2 Msc Patna>

Agregar más de una columna en el marco de datos existente

En este ejemplo, expande un Pandas DataFrame existente.df>con dos nuevas columnas, Edad y Estado, utilizando sus respectivas listas de datos.

Python3




import> pandas as pd> data>=> {>'Name'>: [>'Jai'>,>'Princi'>,>'Gaurav'>,>'Anuj'>],> >'Height'>: [>5.1>,>6.2>,>5.1>,>5.2>],> >'Qualification'>: [>'Msc'>,>'MA'>,>'Msc'>,>'Msc'>],> >'Address'>: [>'Delhi'>,>'Bangalore'>,>'Chennai'>,>'Patna'>]}> df>=> pd.DataFrame(data)> # Define new data for additional columns> age>=> [>22>,>25>,>23>,>24>]> state>=> [>'NCT'>,>'Karnataka'>,>'Tamil Nadu'>,>'Bihar'>]> # Add multiple columns using dictionary assignment> new_data>=> {>'Age'>: age,>'State'>: state }> df>=> df.assign(>*>*>new_data)> print>(df)>

>

>

Producción:

   Name Height Qualification Address Age State     0    Jai 5.1 Msc Delhi 22 NCT   1   Princi 6.2 MA Bangalore 25 Karnataka   2    Gaurav 5.1 Msc Chennai 23 Tamil Nadu   3   Anuj 5.2 Msc Patna 24 Bihar>

Conclusión

Comprender cómo agregar nuevas columnas a DataFrames es esencial para la exploración y manipulación de datos en Pandas. La elección del método apropiado depende del contexto específico y del resultado deseado. Al dominar estas técnicas, podrá manipular, analizar y obtener información valiosa de sus datos de manera efectiva.

función chr en pitón