Pandas で列の名前を変更する方法 (例付き)
次の 3 つの方法のいずれかを使用して、pandas DataFrame の列の名前を変更できます。
方法 1: 特定の列の名前を変更する
df. rename (columns = {' old_col1 ':' new_col1 ', ' old_col2 ':' new_col2 '}, inplace = True )
方法 2: すべての列の名前を変更する
df. columns = [' new_col1 ', ' new_col2 ', ' new_col3 ', ' new_col4 ']
方法 3: 列内の特定の文字を置換する
df. columns = df. columns . str . replace (' old_char ', ' new_char ')
次の例は、これらの各メソッドを実際に使用する方法を示しています。
関連: Pandas で列名を取得する方法 (3 つの方法)
方法 1: 特定の列の名前を変更する
次のコードは、pandas DataFrame の特定の列の名前を変更する方法を示しています。
import pandas as pd #define DataFrame df = pd. DataFrame ({' team ':['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #list column names list (df) ['team', 'points', 'assists', 'rebounds'] #rename specific column names df. rename (columns = {' team ': ' team_name ', ' points ': ' points_scored '}, inplace = True ) #view updated list of column names list (df) ['team_name', 'points_scored', 'assists', 'rebounds']
「チーム」列と「ポイント」列の名前が変更されていますが、他の列名はすべて同じままであることに注意してください。
方法 2: すべての列の名前を変更する
次のコードは、pandas DataFrame 内のすべての列の名前を変更する方法を示しています。
import pandas as pd #define DataFrame df = pd. DataFrame ({' team ':['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #list column names list (df) ['team', 'points', 'assists', 'rebounds'] #rename all column names df. columns = [' _team ', ' _points ', ' _assists ', ' _rebounds '] #view updated list of column names list (df) ['_team', '_points', '_assists', '_rebounds']
DataFrame 内のほとんどまたはすべての列名の名前を変更する場合は、このメソッドを使用した方が速いことに注意してください。
方法 3: 列内の特定の文字を置換する
次のコードは、各列名の特定の文字を置換する方法を示しています。
import pandas as pd #define DataFrame df = pd. DataFrame ({' $team ':['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' $points ': [25, 12, 15, 14, 19, 23, 25, 29], ' $assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' $rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #list column names list (df) ['team', 'points', 'assists', 'rebounds'] #rename $ with blank in every column name df. columns = df. columns . str . replace (' $ ', '') #view updated list of column names list(df) ['team', 'points', 'assists', 'rebounds']
このメソッドを使用すると、各列名から「$」をすぐに削除できることに注意してください。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。
Pandas ですべての列名をリストする方法
Pandas で列を名前で並べ替える方法
Pandasで重複した列を削除する方法