我的csv文件中有一个名为' sport‘的列,其中包含不同的运动名称。我在试着给他们打个人气分。但是当我输入以下内容(我使用的是Python)时,我得到了前面的错误。
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行
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,每个单元格中的值是一个字符串:足球、曲棍球等。感谢您的帮助!
发布于 2015-08-22 03:57:18
你漏掉了"in“
另外,这也是你应该用字典做的事情:
popularities = {'football': 9, 'hockey': 7, <etc...>}
sports_popularity_score = [popularities[sport] for sport in df['sport'].tolist()]发布于 2015-08-22 03:56:58
您缺少一个in
for sport in df['sport'].tolist()
^我也推荐一种不同的方法,错误很难发现,因为代码可读性不是很好。
https://stackoverflow.com/questions/32148315
复制相似问题