如何重命名 pandas 中的列(附示例)
您可以使用以下三种方法之一来重命名 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 ')
以下示例展示了如何在实践中使用每种方法。
方法 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 中执行其他常见操作: