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ç.