使用查询具有特殊字符的数据帧列数据框查询

2024-10-04 09:27:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,比如:

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

查询,例如

^{pr2}$

但是我想查询一个带前缀的列。在

我试着: 数据框查询('cat.c1==“托尼”')

我得到:

^{3}$

有什么想法吗?在


Tags: 数据namenancatc2c1jontony
1条回答
网友
1楼 · 发布于 2024-10-04 09:27:09

query对可以查询哪些列有限制。我喜欢遵循的一条经验法则是,如果名称不是有效的python标识符名称,那么它就不能工作了。在

你唯一的选择是直接用一个布尔最大值索引

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

或者,你可能想去掉那些讨厌的前缀,或者干脆把它们连在一起。在

^{pr2}$

重新分配列名,然后可以使用query

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

相关问题 更多 >