【问题标题】:Cannot resolve an append string to list error无法解析附加字符串以列出错误
【发布时间】:2017-02-11 19:19:26
【问题描述】:

我正在尝试做一些应该很简单的事情......但它不起作用。我认为我忽略了一个基本面,但我终生无法弄清楚它是什么。

我有一个数据框,其中一些列以问题命名,而另一些则为空白。我想将命名列与任何后续未命名列联系在一起的列表放在一起,并在下一个命名列出现时开始一个新列表。

例如,具有以下列名称:

Name?   Age?   Unnamed 1   Favourite soup?   Unnamed 2    Unnamed 3   Turnip fan?

我希望生成这些列表:

  1. ['姓名?']
  2. ['年龄?','未命名的 1']
  3. ['最喜欢的汤?','未命名的 2','未命名的 3']
  4. ['萝卜扇?']

我想我会使用像这样简单的东西:

for col in dataframe.columns:
    if col[:7] != 'Unnamed':
        current_list = col
    else:
        current_list.append(col)

但它会产生错误AttributeError: 'str' object has no attribute 'append'。我做错了什么?

【问题讨论】:

  • current_list 显然不是一个列表...
  • 正如@cricket_007所说,current_list不是list对象,而str对象没有append方法,可以看到strobjectshere的所有方法跨度>
  • 换句话说,你认为current_list = col应该做什么?它将一个列表分配给一个字符串,看起来像
  • 是的,正如@Austin Hastings 所示。我错过了方括号。一个愚蠢的错误。我想是时候睡觉了……

标签: python list pandas


【解决方案1】:

col 中有一个字符串。但是你需要 current_list 是一个列表,即使它只是一个元素的列表。

试试这个:

current_list = [ col ]

【讨论】:

  • 哇。这很尴尬。感谢您的非常明显的修复!
猜你喜欢
  • 2013-05-10
  • 2023-03-05
  • 2022-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-16
  • 2021-08-27
  • 2020-11-17
相关资源
最近更新 更多