En el món de l'anàlisi de dades, l'ús de fulls de càlcul és habitual, sobretot quan es treballa amb dades estructurades en format columnar. Una de les biblioteques populars per treballar amb dades de fulls de càlcul a Python és Pandas. Aquesta potent biblioteca permet als desenvolupadors llegir, manipular i exportar dades tabulars amb facilitat. En aquest article, ens centrarem en un problema concret: actualitzar cel·les d'un full per nom de columna mitjançant Pandas. Ens endinsarem en la solució, seguida d'una explicació pas a pas del codi i, finalment, parlarem de conceptes i funcionalitats relacionades a Pandas, com ara treballar amb índexs i seleccionar dades. Així doncs, comencem.
Actualització de cel·les per nom de columna mitjançant Pandas
Per actualitzar les cel·les d'un full per nom de columna, primer hem d'instal·lar la biblioteca Pandas si encara no està instal·lada amb l'ordre següent:
!pip install pandas
Amb Pandas instal·lats, descriurem els passos per actualitzar les cel·les d'un full per nom de columna:
1. Carregueu el full en un objecte DataFrame.
2. Accediu a les cel·les que volem actualitzar.
3. Modifiqueu les cel·les desitjades assignant nous valors.
4. Deseu l'objecte DataFrame de nou al full.
Aquí teniu un fragment de codi que mostra la solució amb un exemple senzill:
import pandas as pd
# Load data from a CSV file into a DataFrame object
df = pd.read_csv('your_spreadsheet.csv')
# Access and update the desired cells - let's update column 'Age' by adding 1 to each value
df['Age'] = df['Age'] + 1
# Save the updated DataFrame back to the CSV file
df.to_csv('your_updated_spreadsheet.csv', index=False)
Comprensió del Codi
El primer pas és importar la biblioteca Pandas sota l'àlies `pd`. A continuació, hem de carregar les dades d'un fitxer CSV a un objecte DataFrame utilitzant la funció `pd.read_csv()`, especificant el nom del fitxer d'entrada ('your_spreadsheet.csv').
Ara ve la part principal del problema: accedir i actualitzar les cel·les desitjades. En aquest exemple, volem actualitzar la columna "Edat" afegint 1 a cada valor de la columna. Ho fem simplement afegint 1 a la columna 'Edat', a la qual s'accedeix mitjançant la sintaxi `df['Edat']`. Aquest codi farà l'addició d'un element per a cada element de la columna "Edat".
Finalment, desem el DataFrame actualitzat al fitxer CSV mitjançant la funció `df.to_csv()` amb el nom del fitxer de sortida ("your_updated_spreadsheet.csv"). El paràmetre `index=False` s'utilitza per evitar escriure números de fila al fitxer de sortida.
Índexs Pandas i selecció de dades
Pandas es basa en gran mesura en el concepte d'índexs per seleccionar i manipular dades. Per defecte, quan es carreguen dades d'un fitxer, Pandas assigna a índex numèric a cada fila del DataFrame, a partir de 0. Quan es treballa amb dades a Pandas, és essencial entendre les diferents maneres de seleccionar i filtrar dades basat en valors d'índex o noms de columnes.
Per exemple, per seleccionar una o més files específiques, podeu utilitzar l'indexador `iloc`, que us permet accedir a les files en funció del seu índex sencer:
# Select the first row of the DataFrame first_row = df.iloc[0] # Select rows 1 to 3 (excluding 3) rows_1_to_2 = df.iloc[1:3]
Quan necessiteu actualitzar cel·les en funció d'una condició específica, com ara actualitzar la columna "Edat" només per a aquelles files on una altra columna (per exemple, "Ciutat") té un valor determinat, podeu utilitzar la indexació booleana:
# Update the 'Age' column by adding 1, only for rows where 'City' is equal to 'New York' df.loc[df['City'] == 'New York', 'Age'] = df['Age'] + 1
En aquest exemple, l'indexador `loc' s'utilitza per seleccionar files en funció d'una condició booleana i, a continuació, s'actualitza la columna 'Edat'.
Tingueu en compte que això és només la punta de l'iceberg quan es tracta de treballar amb dades a Pandas. La biblioteca ofereix una gran quantitat de funcions i tècniques per manipular, analitzar i visualitzar les vostres dades de manera eficient. La comprensió dels conceptes bàsics, com ara l'actualització de cel·les en un full per nom de columna, estableix una base sòlida per treballar amb estructures de dades més complexes i tasques d'anàlisi en el futur.