Canviar el nom de columnes en un Pandas DataFrame

Canviar el nom de columnes en un Pandas DataFrame
Canviar el nom de columnes en un Pandas DataFrame

Introducció al canvi de nom de columnes a Pandas

Quan es treballa amb dades a Pandas, sovint és necessari canviar el nom de les columnes d'un DataFrame per fer-les més significatives i més fàcils de treballar. Això pot ajudar a fer que les tasques de processament i anàlisi de dades siguin més intuïtives i eficients.

En aquest article, explorarem com canviar les etiquetes de columna d'un Pandas DataFrame de ['$a', '$b', '$c', '$d', '$e'] a ['a', 'b', 'c', 'd', 'e']. Aquesta tasca senzilla però essencial és un requisit habitual en la manipulació de dades i els fluxos de treball de neteja.

Comandament Descripció
pd.DataFrame() Crea un objecte DataFrame, que és una estructura de dades tabular bidimensional, de mida variable i potencialment heterogènia amb eixos etiquetats.
df.columns Accedeix a les etiquetes de columna del DataFrame. Es pot utilitzar per obtenir o definir els noms de les columnes.
df.rename() Us permet modificar els noms de les columnes d'un DataFrame proporcionant una assignació de noms antics a noms nous.
dict(zip()) Crea un diccionari comprimint dues llistes, que s'utilitzen aquí per assignar noms de columnes originals a noms de columnes nous.
inplace=True Un argument del mètode de canvi de nom que modifica el DataFrame al seu lloc, sense retornar un nou DataFrame.
print(df) Mostra el DataFrame a la consola, que us permet veure els noms de columnes actualitzats.

Explicació detallada dels guions

Els scripts proporcionats anteriorment mostren com canviar el nom de columnes en un Pandas DataFrame, una tasca habitual en la manipulació de dades. En el primer script, comencem important la biblioteca Pandas amb import pandas as pd. A continuació, creem un DataFrame utilitzant pd.DataFrame() amb columnes etiquetades com '$a', '$b', '$c', '$d', i '$e'. Per canviar el nom d'aquestes columnes, establim directament les de DataFrame columns atribueix als nous noms de columna ['a', 'b', 'c', 'd', 'e']. Finalment, mostrem el DataFrame actualitzat utilitzant print(df), que mostra els noms de les columnes noves. Aquest mètode és senzill i eficaç per canviar el nom de columnes quan teniu un mapa clar i directe de noms antics amb noms nous.

En el segon script, també importem la biblioteca Pandas i definim dues llistes: original_columns i new_columns, que contenen els noms de columna original i nou, respectivament. A continuació, creem un DataFrame utilitzant pd.DataFrame() amb dades i els noms de columnes originals. Per canviar el nom de les columnes, fem servir el rename() mètode del DataFrame. Aquest mètode utilitza un diccionari que assigna noms de columnes antigues a noms de columnes nous, creats amb dict(zip(original_columns, new_columns)). El inplace=True L'argument garanteix que el DataFrame es modifica al seu lloc sense retornar un nou DataFrame. El pas final és mostrar el DataFrame actualitzat amb print(df). Aquest mètode és especialment útil quan necessiteu canviar el nom de columnes amb programació o quan es tracten amb DataFrames més grans on una assignació directa pot ser menys pràctica.

Canviar els noms de les columnes en un Pandas DataFrame

Ús de Python amb Pandas

import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
    '$a': [1, 2, 3],
    '$b': [4, 5, 6],
    '$c': [7, 8, 9],
    '$d': [10, 11, 12],
    '$e': [13, 14, 15]
})
# Rename the columns
df.columns = ['a', 'b', 'c', 'd', 'e']
# Display the DataFrame
print(df)

Actualització de les etiquetes de columna de DataFrame a Pandas

Script Python que utilitza la biblioteca Pandas

import pandas as pd
# Define the original column names
original_columns = ['$a', '$b', '$c', '$d', '$e']
# Define the new column names
new_columns = ['a', 'b', 'c', 'd', 'e']
# Create a DataFrame with the original columns
data = [[1, 4, 7, 10, 13],
        [2, 5, 8, 11, 14],
        [3, 6, 9, 12, 15]]
df = pd.DataFrame(data, columns=original_columns)
# Rename the columns using a dictionary
df.rename(columns=dict(zip(original_columns, new_columns)), inplace=True)
# Show the updated DataFrame
print(df)

Tècniques avançades per canviar el nom de columnes de DataFrame

Més enllà del canvi de nom bàsic de columnes en un Pandas DataFrame, hi ha tècniques avançades que poden ser molt útils en diferents escenaris. Per exemple, de vegades és possible que hàgiu de canviar el nom de les columnes en funció d'un patró o condició específics. En aquests casos, podeu utilitzar llistes de comprensió o el map() funció combinada amb funcions lambda per aconseguir els resultats desitjats. Aquest enfocament permet un canvi de nom de columnes més dinàmic i flexible. Per exemple, podeu eliminar caràcters específics dels noms de les columnes o aplicar transformacions com ara convertir tots els noms en minúscules.

Una altra tècnica avançada consisteix a canviar el nom de les columnes durant el procés d'importació de dades. Quan carregueu dades dels fitxers CSV, podeu utilitzar el names paràmetre a pd.read_csv() per especificar noms de columnes nous. Això pot ser especialment útil quan es tracten dades que tenen capçaleres inconsistents o que falten. A més, podeu utilitzar el header paràmetre per saltar les capçaleres existents i assignar-ne les vostres. Aquests mètodes agilitzen el procés de neteja de dades abordant els problemes de noms de columnes des de l'etapa de càrrega de dades, fent que la manipulació de dades sigui més eficient.

Preguntes i respostes habituals sobre el canvi de nom de les columnes de DataFrame

  1. Com puc canviar el nom d'una sola columna en un DataFrame?
  2. Utilitzar el rename() mètode amb un diccionari que especifiqui els noms de columnes antics i nous.
  3. Puc canviar el nom de les columnes mentre llegeix un fitxer CSV?
  4. Sí, utilitza el names paràmetre a pd.read_csv() per definir nous noms de columnes.
  5. Com puc eliminar caràcters específics de tots els noms de columnes?
  6. Utilitzeu una llista de comprensió o el map() funció amb una lambda per modificar els noms de les columnes.
  7. És possible canviar el nom de les columnes en funció de la seva posició?
  8. Sí, podeu utilitzar el DataFrame columns atribut indexant i assignant nous noms.
  9. Què passa si he de canviar el nom de les columnes de manera dinàmica en funció de les condicions?
  10. Utilitzeu la lògica condicional dins d'una funció de comprensió de llista o lambda per establir noms de columnes.
  11. Com puc assegurar-me que els meus canvis s'apliquen al DataFrame original?
  12. Utilitzar el inplace=True paràmetre amb el rename() mètode.
  13. Puc canviar el nom de les columnes per eliminar els espais en blanc?
  14. Sí, utilitzeu una comprensió de llista per eliminar els espais en blanc dels noms de les columnes.
  15. Com comprobo els noms de columnes actuals en un DataFrame?
  16. Accedeix al columns atribut del DataFrame per veure els noms de les columnes.
  17. Puc canviar el nom de les columnes després de filtrar el DataFrame?
  18. Sí, el canvi de nom de les columnes es pot fer en qualsevol moment, fins i tot després del filtrat.
  19. Com puc canviar el nom de les columnes en un DataFrame multiíndex?
  20. Utilitzar el rename() mètode amb un diccionari que especifica el nivell i els noms de les columnes multiíndex.

Consideracions finals sobre el canvi de nom de columnes

Canviar el nom de les columnes en un Pandas DataFrame és un pas crucial en el preprocessament de dades, que ajuda a la claredat i l'accessibilitat del conjunt de dades. Tant si s'utilitza l'assignació directa com el mètode rename(), ambdós enfocaments ofereixen solucions flexibles adaptades a diferents escenaris. En dominar aquestes tècniques, la manipulació de dades es fa més intuïtiva, facilitant una millor anàlisi de dades i un codi més net. Els mètodes avançats agilitzen encara més el procés, convertint-lo en una habilitat essencial per a qualsevol científic o analista de dades.