在Pandas groupby语句查找范围时遇到麻烦

时间:2019-04-02 00:38:17

标签: python pandas-groupby

我正在使用链接(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:无效的语法。我期望的是小组观察的范围。预先感谢您的帮助。

2 个答案:

答案 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())