相对于学习Pandas各种数据筛选操作,SQL语法显得更加简洁清晰,若能够将SQL语法与Pandas中对应的函数的使用方法关联起来,对于我们应用Pandas进行数据筛选来讲无疑是一个福音。
本文通过Pandas实现SQL语法中条件过滤、排序、关联、合并、更新、删除等简单及复杂操作,使得我们对方法的理解更加深刻,更加得心应手。
演示数据集
本文采用安德森鸢尾花卉(iris)数据集进行演示,iris数据集包含150个样本,对应数据集的每行数据。每行数据包含每个样本的四个特征和样本的类别信息,因此iris数据集是一个150行*5列的二维表。
我们可以 UCI Iris dataset 中获取或者使用 from sklearn.datasets import load_iris 方式获取,为了演示方便我们只取其中10行数据,如下:
![411ad74a83da81f1af53e843a5f45afd.png](https://i-blog.csdnimg.cn/blog_migrate/dcfb4d28d7c0549136af4124424b3cf2.jpeg)
接下来,就让我们一起学习一下,如何Pandas实现SQL语法中条件过滤、排序、关联、合并、更新、删除等数据查询操作。
字段查询 SELECT
![28397ca979d1b66a7dfb2acd5645d6d9.png](https://i-blog.csdnimg.cn/blog_migrate/8f0ab8e6a54aa88df52ae9e21fc5278c.jpeg)
如上SQL实现返回每行记录的 sl,sw,pl,pw 字段,仅返回2行记录。我们使用Pandas实现如上SQL的功能,代码如下:
![b95757ecdf6bbebadea20ab658c95c45.png](https://i-blog.csdnimg.cn/blog_migrate/ad1b5a076449b6df214a42ea3eff2a7b.jpeg)
简单的条件过滤查询 WHERE
![1e8af03e61b6242ac67207401803afae.png](https://i-blog.csdnimg.cn/blog_migrate/dfdaca6cecf5eb6fe2362adcc685726f.jpeg)
如上SQL实现了查询满足classes=1的记录,并返回2行。我们使用Pandas实现该SQL,代码如下:
![1a860b344c473560005fdf6193f69570.png](https://i-blog.csdnimg.cn/blog_migrate/8065fa48a0fe7e5b8a9fe50436d648ee.jpeg)
多条件的与或过滤查询 WHERE AND|OR
与关系 &