当前位置: 首页 > 知识库问答 >
问题:

试图理解使用inplace=true vs-false[duplicate]更改列名

濮丰
2023-03-14

据我所知,当我更改列名时,将inplace设置为true或false的决定取决于我是要更改原始数据框(inplace=True)还是创建一个新的数据框对象(inplace=False)。

我在xlsx中有一个源文件,其中我想要的数据框的列名位于第2行。我需要更改其中一个列名,以便它与分析的其余部分一致。

df_original = pd.read_excel('filepath.xlsx', sheet_name = "LookUpReferences", skiprows = 1)
df_original = df_original.rename(columns = {'WrongName': 'CorrectName'}, inplace = True)

当我这样做,例如,通过head()函数查看输出时,我得到

属性错误:'NoneType'对象没有属性'head'

我可以通过创建一个新的数据帧并设置inplace=False来解决这个问题,即。

df_new = df_original.rename(columns = {'WrongName': 'CorrectName'}, inplace = False)

但这会变得很麻烦。所以我试图理解为什么inplace=True没有按照我希望的方式工作。它是read_excel的skiprows部分吗???这是我能想到为什么我得到一个无类型的唯一原因。但是,很像琼恩·雪诺,我什么都不知道...

谢谢

共有1个答案

申屠飞
2023-03-14

正如您自己所说,inplace=True改变了原始数据帧,因此您不必重新分配它。另一方面,默认设置为inplace=False,因此您可以重命名(并重新分配)为:

df_new = df_original.rename(columns = {'WrongName': 'CorrectName'})

我不确定这对你来说是否太麻烦了。

此外,正如这里解释的就地性能,不能保证就地操作运行得更快。

 类似资料:
  • 在库中,有一个选项可以多次更改对象的位置,如下面的语句······ 我很好奇当传递和时,将返回什么以及如何处理对象。 当时,是否所有操作都在修改?当是立即创建的新对象时,例如,然后返回?

  • 我的html文件中有以下svg图像: 现在,我试图改变颜色使用这个css代码: 然而,一切都没有改变。使用css更改svg图像路径颜色的正确方法是什么?谢谢

  • 在库中,很多时候都有一个更改对象的选项,例如使用以下语句... 我很好奇在传递与时返回什么以及如何处理对象。 当时,是否所有操作都在修改?当立即创建一个新对象,比如,然后返回?

  • 问题内容: 在pandas库中多次出现改变就地等物体的方式与下面的语句一个选项… 我很好奇返回的内容以及何时传递对象与何时传递对象。 所有操作self何时都在修改?何时立即创建一个新对象,例如然后返回? 问题答案: 如果通过,该数据被重命名到位(它没有返回值),所以你会使用: 当传递(这是默认值,所以没有必要),执行操作,并返回该对象的副本,所以你会使用:

  • 我有一个Word文档(docx);我想对该文档进行更改,并将结果保存为另一个文件,保留原始文件。我有以下代码来说明我当前的问题: 我有三种方法来运行它,改变类文件底部的注释行。正如你所看到的,有三行用目标文件名创建文件输出流,写入并关闭它,还有一行只是关闭当前文档。 如果我注释掉3行并保留1行,则不会对当前文档进行任何更改(当然,也不会创建复制文档)。 如果我保留所有4行未注释,则会创建带有更改的

  • 问题内容: 关于扩展django管理模板的一个(不是这样)快速问题。 我试图通过在结果行(row1和row2类)之间添加一个包含一些与该对象相关的对象的中间行来更改特定模型的结果列表(在django lingo中更改列表)。 我搜索了代码,但没有找到一种方法来执行此操作。非常感谢任何指针。代码也将有所帮助。 PS:我知道我应该设计自己的界面,但这是一个内部项目,我没有太多时间可以花时间。另外,dj