我正在使用链接(Python - calculating the range(highest - lowest) in different group)作为计算不同组的不同范围的指南。但是,我在运行代码时遇到SyntaxError:无效的语法错误,无法弄清原因。
这是我正在使用的示例数据集,并且代码给了我错误
Date Group Away Moneyline Away Pointspread Points
Sun Sep 1 A 10 4
Mon Sep 2 B NaN 6
Tue Sep 3 A 20 10
Wed Sep 4 C 39 4
range = df.groupby('Group').apply(lambda x: x."Away Pointspread points".max() - x."Away Pointspread points".min()
代码的输出为SyntaxError:无效的语法。我期望的是小组观察的范围。预先感谢您的帮助。
答案 0 :(得分:1)
这部分:x."Away Pointspread points"
不正确。尝试改用x["Away Pointspread points"]
。
那将是:
range = df.groupby('Group').apply(lambda x: x["Away Pointspread points"].max() - x["Away Pointspread points"].min()
答案 1 :(得分:1)
当列名包含空格,其他特殊字符或使用保留字(例如'print')时,请尝试使用方括号。
另外,列名称为Away Pointspread Points
(大写P表示点数)。
应该看起来像:
df.groupby('Group').apply(lambda x: x["Away Pointspread Points"].max() - x["Away Pointspread Points"].min())