我尝试这样做:
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
这个工作正常。但是当我修改列名col1时——比;col1:进而
d = {'col1:suf': [1, 7, 3, 6], 'col2': [3, 4, 9, 1]}
df = pd.DataFrame(data=d)
out = df.query('col1:suf > col2')
我得到一个错误:
'AnnAssign'节点未实现
是否有简单的方法来避免这种行为?当然,重命名头文件等是一种变通方法
冒号:
是SQL查询中的特殊字符。你需要用反号把它括起来
Try this:
out = df.query('`col1:suf` > col2')
输出:
print(out)
col1:suf col2
1 7 4
3 6 1
根据ValentinFFM对这个问题的评论,您需要在列名周围加上反引号,如
df.query('`Column: Name`==value')