在Pandas中通过索引重命名列
数据框架中的一列可以通过它所处的位置(即它的索引)来改变。仅仅通过使用索引,一列就可以被重新命名。这篇文章讨论了所有这些可能的方法。
步骤:
- 导入所需的Python库。
- Create data
- 提供要重命名的列的索引作为参数给rename()函数。
Pandas rename()方法用于重命名任何索引、列或行。
语法: rename(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None)
参数:
- mapper,索引和列。字典值,key指的是旧名称,value指的是新名称。这些参数中只有一个可以同时使用。
- axis: int or string value, 0/’row’ for Rows and 1/’columns’ for Columns
- copy:如果为真,则复制基础数据。
- inplace:如果为真,则在原始数据框中进行修改。
- level: 用于在数据框架有多级索引的情况下指定级别。
返回类型: 带有新名称的数据框
以下是实现我们所需功能的各种实现方式。
例子1:使用列索引将两个列的名称相互转换。
import pandas as pd
# Sample DataFrame
df = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
# Changing columns name with index number
df.columns.values[0] = "b"
df.columns.values[1] = "a"
# Display
display(df)
输出:

例子2:使用另一种方法来重命名带索引的列。
import pandas as pd
# Sample DataFrame
df = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
# Changing columns name with index number
su = df.rename(columns={df.columns[1]: 'new'})
# Display
display(su)
输出:

示例3:在一条命令中使用索引号重命名两个/多个列。
import pandas as pd
# Sample DataFrame
df = pd.DataFrame({'a': [1, 2], 'b': [3, 4], 'c': [7, 8]})
# Changing columns name with index number
mapping = {df.columns[0]: 'new0', df.columns[1]: 'new1'}
su = df.rename(columns=mapping)
# Display
display(su)
输出:

例子4:用CSV文件的索引号重命名列名。
import pandas as pd
# reading a csv file
df1 = pd.read_csv("data1.csv")
# change 2nd column name with index number
df1.columns.values[2] = "city"
# Display DataFrame
display(df1)
输出:

极客教程