当前位置: 首页 > 编程笔记 >

Python-在Pandas DataFrame中更改列名和行索引

魏安宁
2023-03-14
本文向大家介绍Python-在Pandas DataFrame中更改列名和行索引,包括了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
 类似资料:
  • 问题内容: 是否可以更改导入的python文件的名称? 在我在Django的views.py中,我有 在我的模型中,我有一个客户端模型,但是当我使用该文件时,我导入了客户端,但是在我的客户端模型中出现了AttributeError … 我的问题是,是否可以更改in的名称? 谁能对我的情况有个想法? 提前致谢 … 问题答案: 是的,您可以使用关键字。 正是出于这个目的。此处的文档对此进行了说明: h

  • 问题内容: 我有这样的查询结果: 列数未知,因为它是数据透视查询的结果。 我想将列的名称更改为如下所示: 颜色是我从另一个表中检索到的信息。 我怎样才能做到这一点? 谢谢 编辑:这是查询。 问题答案: 模式设置 : 查询 :

  • 我很难更改列名。我知道我的语法是正确的,但我收到了一条错误消息。 我使用的语法是: 我一直收到这个错误消息,错误1064(42000):您的SQL语法有错误;查看与MySQL服务器版本对应的手册,了解第2行“COLUMN CustomerID to CollaboratorID”附近使用的正确语法 请帮忙。

  • 问题内容: 假设从CGI开始,我已经将文件显示为文件。我想将的文件扩展名更改为显示文件。我该怎么做? 问题答案: , 例如:

  • 问题内容: 我想知道是否有一个功能可以更改特定的列名称,但无需选择特定的名称或不更改所有的名称。 我有代码: 但是有了它,我必须手动更改每个人的名字。也要改变我所有的人 我想有一个功能来更改第1列和第3列,而不必仅说明其位置而仅写它们的名称。谢谢! 问题答案: 假设您有一个包含新列名的字典以及应替换的列名: 但是,如果您没有索引,而只有索引,则可以执行以下操作:

  • 在R中,当需要根据可以执行的列名称检索列索引时 有没有一种方法可以对熊猫数据帧执行相同的操作?