首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SyntaxError:为列赋值时,在Python中使用.tolist()函数的语法无效

SyntaxError:为列赋值时,在Python中使用.tolist()函数的语法无效
EN

Stack Overflow用户
提问于 2015-08-22 03:54:20
回答 2查看 161关注 0票数 0

我的csv文件中有一个名为' sport‘的列,其中包含不同的运动名称。我在试着给他们打个人气分。但是当我输入以下内容(我使用的是Python)时,我得到了前面的错误。

代码语言:javascript
复制
Sports_Popularity_Score = [9 if sport=='football' else 7 if sport=='hockey'
else 6 if sport=='basketball' else 5 if sport=='baseball' else 4 if sport=='tennis' else 3 if sport=='gymnastics' else 2 if sport=='olympics' else 1 for sport df['sport'].tolist()]

错误消息:文件"sport_popularity.py",第74行

代码语言:javascript
复制
Sports_Popularity_Score = [9 if sport=='football' else 7 if sport=='hockey'
else 6 if sport=='basketball' else 5 if sport=='baseball' else 4 if sport=='tennis' else 3 if sport=='gymnastics' else 2 if sport=='olympics' else 1 for sport df['sport'].tolist()]

^

SyntaxError: invalid syntax

我的df部分的格式有问题吗?列的名称是sport,每个单元格中的值是一个字符串:足球、曲棍球等。感谢您的帮助!

EN

回答 2

Stack Overflow用户

发布于 2015-08-22 03:57:18

你漏掉了"in“

另外,这也是你应该用字典做的事情:

代码语言:javascript
复制
popularities = {'football': 9, 'hockey': 7, <etc...>}
sports_popularity_score = [popularities[sport] for sport in df['sport'].tolist()]
票数 1
EN

Stack Overflow用户

发布于 2015-08-22 03:56:58

您缺少一个in

代码语言:javascript
复制
for sport in df['sport'].tolist()
           ^

我也推荐一种不同的方法,错误很难发现,因为代码可读性不是很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32148315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档