Afegeix una nova columna al DataFrame existent a Pandas

Afegir columnes noves a un DataFrame existent és una tasca fonamental en l'anàlisi de dades Pandes . Us permet enriquir les vostres dades amb informació addicional i facilitar l'anàlisi i la manipulació posteriors. Aquest article explorarà diversos mètodes per afegir columnes noves, inclosa l'assignació senzilla, el insert()> mètode, el assign()> mètode. Parlem de l'addició de noves columnes al DataFrame existent de Pandas.

Què és Pandas DataFrame?

A Pandas DataFrame és una estructura de dades tabular bidimensional, de mida variable i potencialment heterogènia amb eixos etiquetats (files i columnes). És una estructura de dades fonamental a l'ecosistema de ciències de dades de Python i proporciona una manera potent de treballar amb dades tabulars.

Aquestes són algunes de les característiques clau d'un Pandas DataFrame:

  • Representació de dades: Emmagatzema les dades en format de taula amb files i columnes.
  • Tipus de dades heterogenis: Pot contenir diferents tipus de dades en diferents columnes (p. ex., nombres enters, flotants, cadenes, booleans).
  • Etiquetatge: Cada fila i columna té una etiqueta (noms d'índex i columnes).
  • Mutable: Permet la manipulació i modificació de dades.
  • Operacions potents: Proporciona diverses funcions i mètodes per a l'anàlisi, la manipulació i l'exploració de dades.
  • Extensible: Es pot personalitzar i ampliar amb funcionalitats addicionals mitjançant biblioteques i funcions definides per l'usuari.

Hi ha diverses maneres d'afegir una nova columna a un DataFrame existent a Pandas a Python :

  • Creació d'un marc de dades de mostra
  • Mitjançant l'ús de Dataframe.insert() mètode
  • Mitjançant l'ús de Dataframe.assign() mètode
  • Ús del diccionari
  • Ús de la llista
  • Utilitzant .lloc()
  • Afegir més d'una columnes al marc de dades existent

Creació d'un marc de dades de mostra

Aquí estem creant un marc de dades de mostra:

Python 3




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)>

Sortida:

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

Tingueu en compte que la longitud de la vostra llista hauria de coincidir amb la longitud de la columna d'índex, en cas contrari, mostrarà un error.

Afegiu una columna nova a un Datframe existent mitjançant DataFrame.insert()

Dóna la llibertat d'afegir una columna a qualsevol posició que ens agradi i no només al final. També ofereix diferents opcions per inserir els valors de la columna.

Python 3




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)>

Sortida:

  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 

Afegir columnes a Pandas DataFrame mitjançant Dataframe.assign()

Aquest mètode crearà un nou marc de dades amb una nova columna afegit al marc de dades antic.

Python 3




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)>

Sortida:

   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 Afegeix una columna a DataFrame mitjançant un diccionari

Podem utilitzar a Diccionari Python per afegir una nova columna a Pandas DataFrame. Utilitzeu una columna existent com a valors clau i els seus valors respectius seran els valors d'una columna nova.

Python 3




# 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)>

Sortida:

  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 

Afegir una nova columna a un Pandas DataFrame mitjançant List

En aquest exemple, Els pandas afegeixen columnes noves a la llista Adreça a un Pandas DataFrame existent mitjançant un diccionari i una llista.

Python 3




# 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)>

Sortida:

  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 

Afegiu una nova columna a un Pandas DataFrame existent mitjançant Dataframe.loc()

En aquest exemple, crea un Pandas DataFrame anomenat df> amb les columnes Nom, Alçada i Qualificació i afegeix una nova columna Adreça mitjançant l' loc> atribut.

Python 3




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)>

Sortida:

  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 

Afegir més d'una columnes al marc de dades existent

En aquest exemple, expandeix un Pandas DataFrame existent df> amb dues columnes noves, Edat i Estat, utilitzant les seves respectives llistes de dades.

Python 3




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)>

Sortida:

   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ó

Entendre com afegir noves columnes a DataFrames és essencial per a l'exploració i la manipulació de dades a Pandas. L'elecció del mètode adequat depèn del context específic i del resultat desitjat. Dominant aquestes tècniques, podeu manipular, analitzar i obtenir informació valuosa de les vostres dades de manera eficaç.