pandas 如何修复错误:“AnnAssign”节点未在Python中实现

xt0899hw  于 2022-12-02  发布在  Python
关注(0)|答案(2)|浏览(131)

我试着做以下几点:

import pandas as pd
d = {'col1': [1, 7, 3, 6], 'col2': [3, 4, 9, 1]}
df = pd.DataFrame(data=d)

out = df.query('col1 > col2')

out=    col1  col2
1     7     4
3     6     1

这可以正常工作。但是当我修改列名col 1--〉col 1:suf

d = {'col1:suf': [1, 7, 3, 6], 'col2': [3, 4, 9, 1]}
    df = pd.DataFrame(data=d)
    
    out = df.query('col1:suf > col2')

出现错误:
“AnnAssign”节点未实现
有没有简单的方法来避免这种行为?或者,当然,重命名标题等是一种解决办法

57hvy0tb

57hvy0tb1#

冒号:是SQL查询中的一个特殊字符。您需要用反勾号将其括起来。
试试这个:

out = df.query('`col1:suf` > col2')

输出量:

print(out)

   col1:suf  col2
1         7     4
3         6     1
sqxo8psd

sqxo8psd2#

根据ValentinFFM对this issue的评论,您需要在列名周围加上一个反引号,如

df.query('`Column: Name`==value')

相关问题