python - 在多种情况下返回的 Pandas 语法错误

标签 python pandas syntax-error

我无法弄清楚代码的问题是什么,它给了我“无效的语法错误”,但是我按照确切的说明操作,看起来很准确,我正试图让那些拥有超过30倍('2B')和在来自以下合并数据(d820hw5p3)的AL联赛中...有什么想法吗?

d820hw5p6= d820hw5p3[(d820hw5p3.2B > 30) & (d820hw5p3.LEAGUE == 'AL')]
d820hw5p6

d820hw5p3是此数据:
First         Last    R    H   AB LEAGUE  2B  3B  HR  RBI
0      Leonys       Martin   72  128  518     AL  17   3  15   47
1         Jay        Bruce   74  135  540     NL  27   6  33   99
2      Jackie  Bradley Jr.   94  149  558     AL  30   7  26   87
3      George     Springer  116  168  644     AL  29   5  29   82
4       Corey    Dickerson   57  125  510     AL  36   3  24   70
5      Dexter       Fowler   84  126  457     NL  25   7  13   48
6       Angel        Pagan   71  137  495     NL  24   5  12   55
7        Adam        Eaton   91  176  620     AL  29   9  14   59
8     Yasmany        Tomas   72  144  529     NL  30   1  31   83
9     Gregory      Polanco   79  136  527     NL  34   4  22   86
10      Nomar       Mazara   59  137  515     AL  13   3  20   64
11     Justin        Upton   81  140  569     AL  28   2  31   87
12      Bryce       Harper   84  123  506     NL  24   2  24   86
13       Kole      Calhoun   91  161  594     AL  35   5  18   75
14      Ender     Inciarte   85  152  522     NL  24   7   3   29
15     Jacoby     Ellsbury   71  145  551     AL  24   5   9   56
16     Curtis   Granderson   88  129  544     NL  24   5  30   59
17     Mookie        Betts  122  214  673     AL  42   5  31  113
18     Denard         Span   70  152  571     NL  23   5  11   53
19       Adam       Duvall   85  133  552     NL  31   6  33  103
20      Brett      Gardner   80  143  548     AL  22   6   7   41
21       Matt         Kemp   89  167  623     NL  39   0  35  108
22      Khris        Davis   85  137  555     AL  24   2  42  102
23       Mike        Trout  123  173  549     AL  32   5  29  100
24      Melky      Cabrera   70  175  591     AL  42   5  14   86
25       Jose     Bautista   68   99  423     AL  24   1  22   69
26        Ian      Desmond  107  178  625     AL  29   3  22   86
27       Alex       Gordon   62   98  445     AL  16   2  17   40
28       Ryan        Braun   80  156  511     NL  23   3  30   91
29       Nick     Markakis   67  161  599     NL  38   0  13   89
30     Carlos     Gonzalez   87  174  584     NL  42   2  25  100
31     Yoenis     Cespedes   72  134  479     NL  25   1  31   86
32    Stephen     Piscotty   86  159  582     NL  35   3  22   85
33    Michael     Saunders   70  124  490     AL  32   3  24   57
34     Jayson        Werth   84  128  525     NL  28   0  21   69
35      Howie     Kendrick   65  124  486     NL  26   2   8   40
36       Adam        Jones   86  164  619     AL  19   0  29   83
37    Marcell        Ozuna   75  148  556     NL  23   6  23   76
38      Jason      Heyward   61  122  530     NL  27   1   7   49
39     Marwin     Gonzalez   55  123  484     AL  26   3  13   51
40   Starling        Marte   71  152  489     NL  34   5   9   46
41       J.D.     Martinez   69  141  459     AL  35   2  22   68
42      Kevin       Pillar   59  146  549     AL  35   2   7   53
43    Charlie     Blackmon  111  187  577     NL  35   5  29   82
44     Odubel      Herrera   87  167  584     NL  21   6  15   49
45  Christian       Yelich   78  172  577     NL  38   3  21   98
46     Andrew    McCutchen   81  153  598     NL  26   3  24   79

最佳答案

我很惊讶AMC的直觉,认为以2开头的列是有问题的,并创建了这个最小的可重现示例:

import pandas as pd
# define Data Frame
df= pd.DataFrame({
    'name': ['A', 'B', 'C'],
    '2b': [1, 2, 3],
    'b2': [4, 5, 6],
})

# Try to access column 2b
df.2b

哪个返回SyntaxError: invalid syntax
df['2b']返回预期的序列。
我做了简短的搜索以获取有关此文档的文档,但没有看到任何内容,但我希望它与此有关:Variable names in Python cannot start with a number or can they?

因此,最后,虽然2b是有效的列名,但您将不得不使用df['column']方法访问其系列。

关于python - 在多种情况下返回的 Pandas 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60531703/

相关文章:

python - 如何在 PyQT 小部件中嵌入 Python 解释器

python - Matplotlib .fill_ Between() 偏移量-1

function - Verilog 函数 - 无法找出我的错误

Pandas read_sas "ValueError: Length of values does not match length of index"

python - 在字符串上使用 eval 会引发错误。

bash - 语法错误: invalid arithmetic operator (error token is “.txt” )

python - 使用 PySCIPopt 的参数化向量

python - Matplotlib 导航工具栏 : remove "Edit curves lines and axes parameters"

python - 如何检查 python 类或对象是否是用户定义的(不是内置的)?

python - 根据不同类型的值派生日期列