logo

Jak zmienić nazwy kolumn w Pandas DataFrame

Biorąc pod uwagę ramkę danych Pandas, zobaczmy, jak zmienić nazwy kolumn w Pandach, korzystając z przykładów. Tutaj omówimy 5 różnych sposobów zmiany nazw kolumn w pandach DataFrame.

Jak zmienić nazwy kolumn w Pandas DataFrame

Metoda 1: Korzystanie z funkcji zmiany nazwy().

Jednym ze sposobów zmiany nazw kolumn w ramce danych Pandas jest użycie funkcji rename(). Ta metoda jest bardzo przydatna, gdy musimy zmienić nazwę niektórych wybranych kolumn, ponieważ musimy podać informacje tylko dla kolumn, których nazwa ma zostać zmieniona.



Przykład 1: Zmień nazwę pojedyncza kolumna .

Pyton
# 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('
After modifying first column:
', rankings_pd.columns)>

Wyjście:



Przykład 2: Przemianować wiele kolumn .

Pyton
# 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)>

Wyjście:

Metoda 2: Przypisując listę nowych nazw kolumn

Nazwy kolumn można także zmienić poprzez bezpośrednie przypisanie listy zawierającej nowe nazwy do atrybutu kolumny obiektu Dataframe, dla którego chcemy zmienić nazwę kolumn. Wadą tej metody jest to, że musimy nadać nowe nazwy wszystkim kolumnom, nawet jeśli chcemy zmienić nazwy tylko niektórych kolumn.



Pyton
# 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)>

Wyjście:

Metoda 3: Zmień nazwy kolumn za pomocą funkcji DataFrame set_axis().

W tym przykładzie zmienimy nazwę kolumny za pomocą funkcji set_axis, jako parametr przekażemy nową nazwę kolumny i oś, którą należy zastąpić nową nazwą w kolumnie.

Pyton
# 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') # After renaming the columns print(rankings_pd.columns) rankings_pd.head()>

Wyjście:

nazwa produktów do makijażu

Metoda 4: Zmień nazwy kolumn za pomocą funkcji DataFrame add_prefix() i add_suffix()

W tym przykładzie zmienimy nazwę kolumny za pomocą funkcji add_Sufix i add_Prefix, przekażemy prefiks i sufiks, który należy dodać do imienia i nazwiska nazwy kolumny.

Pyton
# 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()>

Wyjście:

 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>

Metoda 5: Zastąp określone teksty nazw kolumn za pomocą funkcji Dataframe.columns.str.replace

W tym przykładzie zmienimy nazwę kolumny za pomocą funkcji zamiany, przekażemy starą nazwę z nową nazwą jako parametr kolumny.

Pyton
# 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()>

Wyjście: