Python – 在Pandas DataFrame中更改列名和行索引
Pandas是一个Python库,提供了许多数据分析功能,这些功能在Python标准库中不可用。 其中一个功能是使用数据帧。 它们是表示列和行的矩形网格。 在创建数据帧时,我们决定列的名称并在随后的数据操作中引用它们。 但是可能会出现需要在创建数据帧后更改列名称的情况。 在本文中,我们将看到如何实现这一点。
使用rename()方法
这是最常用的方法,因为我们可以使用此方法更改列名和行索引。 我们只需将旧值和新值作为键值对字典传递给此方法,然后用新名称保存数据帧。
示例
import pandas as pd
df = pd.DataFrame({
'ColumnA': [23, 92, 32],
'ColumnB': [54, 76, 43],
'ColumnC': [16, 45, 10]
},
index=['10-20', '20-30', '30-40'])
df_renamed = df.rename(columns={'ColumnA': 'Col1', 'ColumnB': 'Col2', 'ColumnC': 'Col3'},
index={'10-20': '1', '20-30': '2', '30-40': '3'})
print(df)
print("\n",df_renamed)
输出
运行上述代码会得到以下结果:
ColumnA ColumnB ColumnC
10-20 23 54 16
20-30 92 76 45
30-40 32 43 10
Col1 Col2 Col3
1 23 54 16
2 92 76 45
3 32 43 10
使用df.columns
df.columns可以直接分配新的列名。 当再次使用数据帧时,引用新的列名。
示例
import pandas as pd
df = pd.DataFrame({
'ColumnA': [23, 92, 32],
'ColumnB': [54, 76, 43],
'ColumnC': [16, 45, 10]
},
index=['10-20', '20-30', '30-40'])
df.columns=["Length","Breadth","Depth"]
print(df)
输出
运行上述代码会得到以下结果:
Length Breadth Depth
10-20 23 54 16
20-30 92 76 45
30-40 32 43 10
通过添加前缀
Pandas数据帧提供了向列名添加前缀和后缀的方法。 我们使用此方法简单地添加所需的前缀,该前缀附加到每个列名。
示例
import pandas as pd
df = pd.DataFrame({
'ColA': [23, 92, 32],
'ColB': [54, 76, 43],
'ColC': [16, 45, 10]
},
index=['10-20', '20-30', '30-40'])
print(df.add_prefix('Jan-'))
输出
运行上述代码会得到以下结果:
Jan-ColA Jan-ColB Jan-ColC
10-20 23 54 16
20-30 92 76 45
30-40 32 43 10
极客教程