我正在处理Dataquest.org中的一个挑战,要求我编写一个函数并将其用于清理数据框的列名。
下面的代码有效,并给了我正确的答案
def clean_col(abc):
abc= abc.strip()
abc=abc.replace("Operating System","os")
abc=abc.replace(" ","_")
abc=abc.replace("(","")
abc=abc.replace(")","")
abc=abc.lower()
return(abc)
laptops.columns= [clean_col(c) for c in laptops.columns]
但是,当我用以下for循环替换最后一行时,我的输出是不同的(错误的)。我意识到for循环不是解决此问题的有效方法,但是如果我使用以下for循环命令而不是使用列表理解,它是否应该给我相同的答案?
lc= laptops.columns
for item in lc:
item= clean_col(item)
laptops.columns=lc