python – Pandas:查询字符串,其中列名包含特殊字符
发布时间:2020-12-20 11:55:09 所属栏目:Python 来源:网络整理
导读:我正在使用具有如下结构的数据框: In[75]: df.head(2)Out[75]: statusdata participant_id association latency response complete CLIENT-TEST-1476362617727 seeya 715 dislike 1 complete CLIENT-TEST-1476362617727 welome 800 like stimuli element
我正在使用具有如下结构的数据框:
In[75]: df.head(2) Out[75]: statusdata participant_id association latency response 0 complete CLIENT-TEST-1476362617727 seeya 715 dislike 1 complete CLIENT-TEST-1476362617727 welome 800 like stimuli elementdata statusmetadata demo$gender demo$question2 0 Sample B semi_imp complete male 23 1 Sample C semi_imp complete female 23 我希望能够针对列$gender运行查询字符串. 即, df.query("demo$gender=='male'") 但这与$符号有问题.如果我用另一个分隔符(例如 – )替换$符号,则问题仍然存在.我可以修复我的查询字符串以避免此问题.我宁愿不重命名列,因为这些列与我的应用程序的其他部分紧密对应. 我真的想坚持使用查询字符串,因为它是由我们的技术堆栈的另一个组件提供的,并且创建一个解析器对于看似简单的问题来说将是一个沉重的提升. 提前致谢. 解决方法
当前的查询实现要求字符串是有效的python表达式,因此列名必须是有效的python标识符.您的两个选项是重命名列,或使用普通布尔过滤器,如下所示:
df[df['demo$gender'] =='male'] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |