用户警告:Pandas 不允许通过新的属性名称创建列 -

rak*_*464 8 python string replace pandas

我在读取 csv 文件后尝试重命名列,我想在其中替换列名称的一部分。
这是我要删除的代码:

'yor_yogurt_march_poggen_output_with_shrink.'
Run Code Online (Sandbox Code Playgroud)

我收到用户警告。如果重要的话,我正在使用pandas 库。

df.dolumns =  df.columns.str.replace('yor_yogurt_march_poggen_output_with_shrink.', '')
Run Code Online (Sandbox Code Playgroud)

Val*_*_Bo 11

答案就在您问题的标题中:Pandas 不允许通过新的属性 name 创建列

如果您的df没有给定名称的列,则无法使用属性表示法(在本例中为df.dolumns)引用该名称。

您必须指定新列名作为索引,即:

df['dolumns'] = ...
Run Code Online (Sandbox Code Playgroud)

另一个细节:在=获得df.columnswhich之后,这是迄今为止存在的列名称列表。据我了解,您希望在每个列名称中执行相同的替换(删除提到的片段)。因此,也许应该在df.columns下替换生成的列名列表(用c而不是d来代替)?


G. *_*son 4

双重检查df.dolumns是您的帖子中的拼写错误,但希望不是您的代码中的拼写错误?.dolumns因为它认为您正在尝试为 df设置新属性

  • 在堆栈溢出上潜伏了很长时间后,我提出了一个问题,但事实证明这是我的拼写错误。感谢您的帮助! (2认同)