Este artículo es una guía sobre cómo cambiar el nombre de las columnas en Pandas.
Pandas es una biblioteca de Python para administrar conjuntos de datos. Lee fácilmente datos de diferentes formatos de archivo como CSV, JSON y SQL. Cuando los datos se cargan en Pandas, se almacenan en un objeto DataFrame.
Un DataFrame es un objeto bidimensional, lo que significa que los datos se almacenan en un formato similar a una tabla con filas y columnas. Esto es similar a almacenar datos en archivos CSV u hojas de cálculo. Cuando cargue datos, pandas intentará cargar nombres de columna desde el archivo fuente del conjunto de datos.
Sin embargo, es posible que los nombres de las columnas cargadas no sean ideales y es posible que desee cambiar el nombre de las columnas a algo más significativo.
En este artículo, primero discutiremos las mejores prácticas para nombrar columnas en Pandas. A continuación, llegaremos al tema principal, que son los métodos para cambiarles el nombre.
Mejores prácticas para nombrar columnas en Pandas
Antes de entrar en la parte de la guía de cambio de nombre de este artículo, aquí hay algunas mejores prácticas y convenciones que quizás desee seguir al nombrar sus columnas en pandas.
✅ Usa nombres descriptivos. Nombres encriptados como col_1
son difíciles de entender y no transmiten mucha información sobre los datos contenidos en el conjunto de datos.
✅ Usa mayúsculas y minúsculas para nombrar columnas. En el caso de la serpiente, los nombres de sus columnas se verán así: number_of_people
En lugar de esto NumberOfPeople
.
✅ Aunque se prefiere el caso de la serpiente, debe usar la convención de nomenclatura utilizada por su conjunto de datos original. Esto evita cualquier confusión al moverse entre su conjunto de datos y el objeto Pandas DataFrame.
✅ Independientemente de la convención de nomenclatura que utilice, mantenga la coherencia en todo el conjunto de datos. Evite nombrar algunas columnas usando PascalCase y otras usando snake_case.
✅ Por último, intenta usar nombres más cortos. Estos son más fáciles de escribir porque la sugerencia de código y la finalización en los cuadernos son generalmente más bajas. Eso significa que la codificación en un cuaderno requiere una gran cantidad de entrada de código manual, y los nombres más cortos facilitan la vida.
Cómo renombrar columnas en Pandas
Puede consumir el contenido de este artículo de dos maneras. Primero, puedes leer esto como una referencia. En segundo lugar, también puede seguir el código, por lo que tiene una mejor oportunidad de recordar los conceptos cubiertos. Recomiendo el último método.
Para la codificación usaré un cuaderno alojado con Google Colab. También puedes crear uno y seguir; es totalmente gratis El cuaderno con todo el código que escribiré en este tutorial está disponible aquí.
Configuración del bloc de notas
Antes de comenzar a cambiar el nombre de las columnas en pandas, configuremos el bloc de notas y carguemos algunos datos de muestra. Cree una celda de código e importe pandas usando el código a continuación.
import pandas as pd
Después de importar pandas, puede cargar el california_housing_data
conjunto de datos, que está disponible de forma predeterminada como un conjunto de datos de muestra cuando crea un cuaderno de Google Colab.
housing_data = pd.read_csv('/content/sample_data/california_housing_train.csv')
Puede ver las primeras filas del conjunto de datos usando el código:
housing_data.head()
También puede enumerar las columnas presentes en el conjunto de datos con lo siguiente:
housing_data.columns
Esto debería producir el siguiente resultado:
Index(['longitude', 'latitude', 'housing_median_age', 'total_rooms',
'total_bedrooms', 'population', 'households', 'median_income',
'median_house_value'],
dtype='object')
Esto significa que sus datos se han cargado correctamente y el DataFrame tiene lo que necesitamos.
Método 1: usar la función Renombrar
La forma más fácil de cambiar el nombre de las columnas en pandas es usar el rename
método del objeto DataFrame. Al utilizar este método, Ud. rename
una columna llamando al método de cambio de nombre. El método toma múltiples argumentos.
En este caso, nos interesa cambiar el nombre de una columna, por lo que pasaremos el argumento de palabra clave de columnas. El valor de este argumento es un diccionario cuyas entradas representan la asignación de nombres de columna antiguos a los nuevos. Aquí hay un ejemplo donde renombramos el households
columna a houses
.
housing_data.rename(columns={ 'households': 'houses' })
Esto debería producir el siguiente resultado:
Como puede ver, estamos pasando en un diccionario donde la clave es el nombre de la columna anterior y el valor es el nombre de la nueva columna. El valor no debe ser solo una cadena. También puede ser una función donde el valor devuelto por la función es el nombre de la nueva columna. Si desea cambiar el nombre de más columnas, puede agregar más entradas de diccionario.
Método 2: Reemplazar cadena de columna
Otro método que puede usar para cambiar el nombre de las columnas en pandas es reemplazar la cadena de la columna en un DataFrame. Supongamos que desea cambiar el nombre de la columna nombrada actualmente population
para number_of_people
. Con este método, escribiría el siguiente código:
housing_data.columns = housing_data.columns.str.replace('population', 'number_of_people')
Para imprimir la lista modificada, usamos el siguiente código:
housing_data
Esto debería producir el siguiente resultado en la pantalla:
Método 3: Asignar una lista de nombres de columnas
Alternativamente, puede cambiar el nombre de las columnas en Pandas asignando una lista a la propiedad de columnas del DataFrame. Para este ejemplo, si quisiera cambiar el nombre de todas las columnas para que todas usen números, podría usar el siguiente código:
housing_data.columns = [x for x in range(9)]
En este ejemplo, he configurado el housing_data.columns
atributo a una lista de enteros del 0 al 8. Para generar la lista, utilicé la comprensión de listas, que es una característica nativa de Python para generar fácilmente listas de valores usando un for
bucle.
La desventaja de utilizar este método es que debe cambiar el nombre de todas las columnas; No puede simplemente cambiar el nombre de un subconjunto de columnas. Idealmente, los nombres de sus columnas deberían ser algo más descriptivos, pero solo estoy usando números aquí para demostración.
Puede ver la salida escribiendo lo siguiente:
housing_data
Método 4: Usar la función set_axis() para cambiar el nombre de las columnas en Pandas
El método del que hablaremos es el método set_axis del objeto DataFrame. Este método se usa para establecer una lista de valores como valores de eje para uno de los dos ejes en Pandas. Como estamos renombrando columnas, definimos axis 1
. Para usar este método, usamos el siguiente código:
column_names = [str(x) for x in range(8, -1, -1)]
housing_data.set_axis(column_names, axis=1, inplace=True)
La primera línea genera una lista de valores del 8 al 0 en orden descendente y los almacena en el column_names
variable. En la segunda línea, llamamos al método set_axis, proporcionando el column_names
como argumento y configurando el eje a modificar como eje 1. También configuramos inplace
para True
por lo que modifica el DataFrame original.
Puede ver el DataFrame escribiendo:
housing_data
Esto debería producir lo siguiente:
Ultimas palabras
Este artículo presentó brevemente cómo se almacenan los datos como una matriz en pandas. También discutimos las mejores prácticas para nombrar columnas en Pandas para hacernos la vida más fácil.
Por último, pero no menos importante, también hemos discutido los diferentes métodos para cambiar el nombre de las columnas en pandas.
A continuación, descubra cómo crear un Pandas DataFrame [with examples].
Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.
Direcciones de Billetera:
- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS
- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe
- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f
- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx
También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:
- Telegram
Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones