logo

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, elinsert()>mètode, elassign()>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

mylivecricket per al cricket en directe




# 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 anomenatdf>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 existentdf>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ç.