Dado un DataFrame de Pandas, veamos cómo cambiar el nombre de las columnas en Pandas con ejemplos. Aquí, discutiremos 6 formas diferentes de cambiar el nombre de las columnas en pandas DataFrame.
Acerca de Pandas DataFrame:
Pandas DataFrame es una cuadrícula rectangular que se utiliza para almacenar datos. Es fácil visualizar y trabajar con datos cuando se almacenan en dataFrame.
- Se compone de filas y columnas.
- Cada fila es una medida de alguna instancia, mientras que la columna es un vector que contiene datos para algún atributo/variable específico.
- Cada columna de Dataframe tiene datos homogéneos en cualquier columna específica, pero las filas de Dataframe pueden contener datos homogéneos o heterogéneos en cualquier fila específica.
- A diferencia de las arrays bidimensionales, los ejes de marco de datos de pandas están etiquetados.
Cómo cambiar el nombre de las columnas en Pandas DataFrame
Método 1: Usar la función de cambio de nombre()
Una forma de cambiar el nombre de las columnas en un marco de datos de Pandas es mediante la función de cambio de nombre(). Este método es bastante útil cuando necesitamos cambiar el nombre de algunas columnas seleccionadas porque necesitamos especificar información solo para las columnas que se van a cambiar de nombre.
Ejemplo 1: cambiar el nombre de una sola columna .
Python3
# Import pandas package import pandas as pd # Define a dictionary containing ICC rankings rankings = {'test': ['India', 'South Africa', 'England', 'New Zealand', 'Australia'], 'odi': ['England', 'India', 'New Zealand', 'South Africa', 'Pakistan'], 't20': ['Pakistan', 'India', 'Australia', 'England', 'New Zealand']} # Convert the dictionary into DataFrame rankings_pd = pd.DataFrame(rankings) # Before renaming the columns print(rankings_pd) rankings_pd.rename(columns = {'test':'TEST'}, inplace = True) # After renaming the columns print("\nAfter modifying first column:\n", rankings_pd.columns)
Producción:
Ejemplo 2: cambiar el nombre de varias columnas .
Python3
# Import pandas package import pandas as pd # Define a dictionary containing ICC rankings rankings = {'test': ['India', 'South Africa', 'England', 'New Zealand', 'Australia'], 'odi': ['England', 'India', 'New Zealand', 'South Africa', 'Pakistan'], 't20': ['Pakistan', 'India', 'Australia', 'England', 'New Zealand']} # Convert the dictionary into DataFrame rankings_pd = pd.DataFrame(rankings) # Before renaming the columns print(rankings_pd.columns) rankings_pd.rename(columns = {'test':'TEST', 'odi':'ODI', 't20':'T20'}, inplace = True) # After renaming the columns print(rankings_pd.columns)
Producción:
Método 2: asignando una lista de nuevos nombres de columna
Las columnas también se pueden renombrar asignando directamente una lista que contiene los nuevos nombres al atributo de columnas del objeto Dataframe para el que queremos renombrar las columnas. La desventaja de este método es que necesitamos proporcionar nuevos nombres para todas las columnas, incluso si queremos cambiar el nombre solo de algunas de las columnas.
Python3
# Import pandas package import pandas as pd # Define a dictionary containing ICC rankings rankings = {'test': ['India', 'South Africa', 'England', 'New Zealand', 'Australia'], 'odi': ['England', 'India', 'New Zealand', 'South Africa', 'Pakistan'], 't20': ['Pakistan', 'India', 'Australia', 'England', 'New Zealand']} # Convert the dictionary into DataFrame rankings_pd = pd.DataFrame(rankings) # Before renaming the columns print(rankings_pd.columns) rankings_pd.columns = ['TEST', 'ODI', 'T-20'] # After renaming the columns print(rankings_pd.columns)
Producción:
Método 3: Cambiar el nombre de las columnas usando la función DataFrame set_axis()
En este ejemplo, cambiaremos el nombre de la columna usando la función set_axis, pasaremos el nuevo nombre de columna y el eje que debe reemplazarse con un nuevo nombre en la columna como parámetro.
Python3
# Import pandas package import pandas as pd # Define a dictionary containing ICC rankings rankings = {'test': ['India', 'South Africa', 'England', 'New Zealand', 'Australia'], 'odi': ['England', 'India', 'New Zealand', 'South Africa', 'Pakistan'], 't20': ['Pakistan', 'India', 'Australia', 'England', 'New Zealand']} # Convert the dictionary into DataFrame rankings_pd = pd.DataFrame(rankings) # Before renaming the columns print(rankings_pd.columns) rankings_pd.set_axis(['A', 'B', 'C'], axis='columns', inplace=True) # After renaming the columns print(rankings_pd.columns) rankings_pd.head()
Producción:
Método 4: Cambiar el nombre de las columnas usando las funciones add_prefix() y add_suffix() de DataFrame
En este ejemplo, cambiaremos el nombre de la columna usando la función add_Sufix y add_Prefix, pasaremos el prefijo y el sufijo que deben agregarse al nombre y apellido del nombre de la columna.
Python3
# Import pandas package import pandas as pd # Define a dictionary containing ICC rankings rankings = {'test': ['India', 'South Africa', 'England', 'New Zealand', 'Australia'], 'odi': ['England', 'India', 'New Zealand', 'South Africa', 'Pakistan'], 't20': ['Pakistan', 'India', 'Australia', 'England', 'New Zealand']} # Convert the dictionary into DataFrame rankings_pd = pd.DataFrame(rankings) # Before renaming the columns print(rankings_pd.columns) rankings_pd = rankings_pd.add_prefix('col_') rankings_pd = rankings_pd.add_suffix('_1') # After renaming the columns rankings_pd.head()
Producción:
col_test_1 col_odi_1 col_t20_1 0 India England Pakistan 1 South Africa India India 2 England New Zealand Australia 3 New Zealand South Africa England 4 Australia Pakistan New Zealand
Método 5: reemplazar textos específicos de nombres de columnas usando la función Dataframe.columns.str.replace
En este ejemplo, cambiaremos el nombre de la columna usando la función de reemplazo, pasaremos el nombre anterior con el nuevo nombre como parámetro para la columna.
Python3
# Import pandas package import pandas as pd # Define a dictionary containing ICC rankings rankings = {'test': ['India', 'South Africa', 'England', 'New Zealand', 'Australia'], 'odi': ['England', 'India', 'New Zealand', 'South Africa', 'Pakistan'], 't20': ['Pakistan', 'India', 'Australia', 'England', 'New Zealand']} # Convert the dictionary into DataFrame rankings_pd = pd.DataFrame(rankings) # Before renaming the columns print(rankings_pd.columns) # df = rankings_pd rankings_pd.columns = rankings_pd.columns.str.replace('test', 'Col_TEST') rankings_pd.columns = rankings_pd.columns.str.replace('odi', 'Col_ODI') rankings_pd.columns = rankings_pd.columns.str.replace('t20', 'Col_T20') rankings_pd.head()
Producción:
Publicación traducida automáticamente
Artículo escrito por rituraj_jain y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA