工作时,频繁切换很麻烦。有的程序员只熟悉SQL的数据操作,不熟悉Python,所以在完成项目时,我们不得不频繁地在SQL和Python之间切换,导致工作效率低下,生产力下降。本文将教您一种使用Pandas在Python中轻松重现SQL结果的方法。入门如果你的电脑中没有pandas包,你需要先安装它:Condainstallpandas这个阶段,我们将使用著名的KaggleTitanic数据集:https://www.kaggle.com/c/titanic/data?select=测试.csv。安装包下载数据后,需要导入Python环境:importpandasaspdtitanic_df=pd.read_csv("titanic_test_data.csv")我们会使用pandas数据框来存储数据,也会用到各种pandas函数操纵数据框。SELECT、DISTINCT、COUNT、LIMIT让我们从常用的简单SQL查询开始。titanic_df[“年龄”]。这里unique()会返回一个唯一值数组,所以需要使用len()来获取唯一值的个数。SELECT,WHERE,OR,AND,IN(条件选择)现在您已经知道如何以简单的方式探索数据框,让我们尝试一些条件(SQL中的WHERE子句)。如果只想从数据框中选择特定的列,可以使用另一个方括号进行选择。注意,如果要选择多列,需要将array["name","age"]放在方括号内。isin()与SQL中的IN完全相同。要使用NOTIN,您需要在Python中使用否定(~)来获得相同的结果。GROUPBY、ORDERBY、COUNTGROUPBY和ORDERBY也是流行的数据探索SQL,让我们在Python中尝试一下。如果只想对COUNT个进行排序,可以将布尔值传给sort_values函数;如果要对多列进行排序,则必须将布尔数组传递给sort_values函数。sum()函数将提供数据框列中所有聚合值的总和,如果您只想要特定列,则需要使用方括号指定列名。MIN、MAX、MEAN、MEDIAN最后,让我们尝试一些对数据探索很重要的常用统计函数。由于SQL没有中值函数,BigQueryAPPROX_QUANTILES将用于获取中值年龄。pandas聚合函数.agg()还支持其他函数,例如sum。拒绝频繁切换,轻松重现查询,你值得拥有!完整脚本可以在我的Github查看:https://github.com/chingjunetao/medium-article/tree/master/rewrite-sql-with-python本文转载自微信公众号“读芯”,您可以通过以下二维码关注它。转载本文请联系核心阅读公众号。
