【发布时间】:2017-02-11 19:19:26
【问题描述】:
我正在尝试做一些应该很简单的事情......但它不起作用。我认为我忽略了一个基本面,但我终生无法弄清楚它是什么。
我有一个数据框,其中一些列以问题命名,而另一些则为空白。我想将命名列与任何后续未命名列联系在一起的列表放在一起,并在下一个命名列出现时开始一个新列表。
例如,具有以下列名称:
Name? Age? Unnamed 1 Favourite soup? Unnamed 2 Unnamed 3 Turnip fan?
我希望生成这些列表:
- ['姓名?']
- ['年龄?','未命名的 1']
- ['最喜欢的汤?','未命名的 2','未命名的 3']
- ['萝卜扇?']
我想我会使用像这样简单的东西:
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 所示。我错过了方括号。一个愚蠢的错误。我想是时候睡觉了……