pandas dataframe重命名列名
参考:pandas dataframe rename column
在数据分析过程中,我们经常需要对数据进行清洗和整理,而对列名的重命名就是其中一个常见的操作。在pandas库中,我们可以使用rename()函数来实现这个功能。本文将详细介绍如何使用pandas dataframe的rename()函数来重命名列名,并提供了多种示例代码供读者参考。
1. 基本用法
在pandas中,我们可以使用rename()函数来重命名列名。这个函数的基本语法如下:
df.rename(columns={'old_name': 'new_name'}, inplace=True)
其中,’old_name’是原来的列名,’new_name’是新的列名,inplace参数决定了是否在原地修改数据。
下面是一个简单的示例:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'Email': ['tom@pandasdataframe.com', 'nick@pandasdataframe.com', 'john@pandasdataframe.com', 'tom2@pandasdataframe.com']}
df = pd.DataFrame(data)
df.rename(columns={'Name': 'FirstName', 'Age': 'AgeInYears'}, inplace=True)
print(df)
Output:
2. 使用字典进行批量重命名
如果我们需要重命名多个列,可以使用字典来进行批量操作。字典的键是原来的列名,值是新的列名。
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'Email': ['tom@pandasdataframe.com', 'nick@pandasdataframe.com', 'john@pandasdataframe.com', 'tom2@pandasdataframe.com']}
df = pd.DataFrame(data)
df.rename(columns={'Name': 'FirstName', 'Age': 'AgeInYears', 'Email': 'EmailAddress'}, inplace=True)
print(df)
Output:
3. 使用函数进行列名重命名
我们也可以使用函数来进行列名的重命名。这在需要对列名进行一些复杂操作时非常有用。
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'Email': ['tom@pandasdataframe.com', 'nick@pandasdataframe.com', 'john@pandasdataframe.com', 'tom2@pandasdataframe.com']}
df = pd.DataFrame(data)
df.rename(columns=lambda x: x.lower(), inplace=True)
print(df)
Output:
4. 使用rename_axis()函数重命名列索引
除了使用rename()函数重命名列名,我们还可以使用rename_axis()函数来重命名列索引。
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'Email': ['tom@pandasdataframe.com', 'nick@pandasdataframe.com', 'john@pandasdataframe.com', 'tom2@pandasdataframe.com']}
df = pd.DataFrame(data)
df.rename_axis("ID", axis='rows', inplace=True)
df.rename_axis("Info", axis='columns', inplace=True)
print(df)
Output:
5. 使用set_axis()函数重命名列名
我们还可以使用set_axis()函数来重命名列名。这个函数的基本语法如下:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'Email': ['tom@pandasdataframe.com', 'nick@pandasdataframe.com', 'john@pandasdataframe.com', 'tom2@pandasdataframe.com']}
df = pd.DataFrame(data)
df.set_axis(['new_name1', 'new_name2', 'new_name3'], axis=1, inplace=True)
print(df)
下面是一个简单的示例:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],
'Age': [20, 21, 19, 18],
'Email': ['tom@pandasdataframe.com', 'nick@pandasdataframe.com', 'john@pandasdataframe.com', 'tom2@pandasdataframe.com']}
df = pd.DataFrame(data)
df.set_axis(['FirstName', 'AgeInYears', 'EmailAddress'], axis=1, inplace=True)
print(df)
总结以上,pandas dataframe提供了多种重命名列名的方法,可以根据实际需要选择合适的方法。希望本文能对你有所帮助。