gpt4 book ai didi

python - 使用 df.query 查询具有特殊字符的 DataFrame 列

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:46 26 4
gpt4 key购买 nike

我有一个数据框,例如:

    cat.c1         cat.c2          cat.c3           name
0 tony NaN NaN groupA
1 Magoo {} NaN groupA
2 Jon NaN {} groupA

查询例如

df.query('name=="groupA"')

但我想查询带前缀的列。

我尝试: df.query('cat.c1=="tony"')

我得到:

KeyError: 'cat'

有什么想法吗?

最佳答案

query 对可以查询的列有限制。我喜欢遵循的经验法则是,如果名称不是有效的 python 标识符名称,那么它就不起作用。

您唯一的选择是直接使用 bool 最大值进行索引。

df[df['cat.c1'] == "tony"]

或者,您可能想去掉那些讨厌的前缀,或者干脆将它们全部加入。

df.columns.str.split('.').str.join('_')
Index(['cat_c1', 'cat_c2', 'cat_c3', 'name'], dtype='object')

重新分配列名称,然后您可以使用查询:

df.query('cat_c1 == "tony"')

关于python - 使用 df.query 查询具有特殊字符的 DataFrame 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49412488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com