【发布时间】:2018-06-30 10:36:59
【问题描述】:
嘿,我是 Pandas 的新手,刚刚遇到df.query()。
当您可以使用括号表示法直接过滤您的数据框时,为什么人们会使用df.query()?官方的 pandas 教程似乎也更喜欢后一种方法。
用括号表示:
df[df['age'] <= 21]
用pandas查询方法:
df.query('age <= 21')
除了已经提到的一些风格或灵活性差异之外,还有一个典型的首选 - 即在大型数据帧上执行操作?
【问题讨论】:
-
因为有些人不能轻易地构造出正确的过滤和聚合,但是会写SQL之类的东西?
-
因为您可能想要使用从用户获得的查询或从文件中读取的查询,或以某种方式以编程方式生成的查询。
-
当它们首次发布时,由于 numexpr,它们获得了一些性能优势,但我不认为它们现在的性能优于布尔索引。
标签: python pandas dataframe data-science