自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Pandas閃回咒!如何在Python中重寫SQL查詢?

開發(fā) 后端
工作中,頻繁切換是件麻煩事兒。一些程序員只熟悉SQL中的數(shù)據(jù)操作,卻不熟悉Python中的數(shù)據(jù)操作,因此在完成項目時,我們不得不頻繁地在SQL和Python之間進行切換,導(dǎo)致了工作效率低下和生產(chǎn)能力下降。

工作中,頻繁切換是件麻煩事兒。一些程序員只熟悉SQL中的數(shù)據(jù)操作,卻不熟悉Python中的數(shù)據(jù)操作,因此在完成項目時,我們不得不頻繁地在SQL和Python之間進行切換,導(dǎo)致了工作效率低下和生產(chǎn)能力下降。

本文就教你一種方法,使用Pandas在Python中輕松重現(xiàn)SQL結(jié)果。

入門指南

如果電腦中沒有pandas包,則需要先安裝一下:

  1. Conda install pandas 

在這個階段,我們將使用著名的Kaggle泰坦尼克數(shù)據(jù)集:https://www.kaggle.com/c/titanic/data?select=test.csv。

安裝軟件包并下載數(shù)據(jù)后,需要將其導(dǎo)入Python環(huán)境中:

  1. import pandas as pd 
  2.              titanic_df = pd.read_csv("titanic_test_data.csv"

我們將使用pandas數(shù)據(jù)框架來存儲數(shù)據(jù),還將用到各種pandas函數(shù)來操作數(shù)據(jù)框架。

  1. SELECTDISTINCTCOUNT, LIMIT 

讓我們從經(jīng)常使用的簡單SQL查詢開始。

 

titanic_df [“ age”]。unique()將在此處返回唯一值的數(shù)組,因此需要使用len()來獲取唯一值的計數(shù)。

  1. SELECT,WHEREOR,AND,IN(有條件選擇) 

現(xiàn)在你知道了如何以簡單的方式探索數(shù)據(jù)框架,接著來嘗試一些條件吧(在SQL中是WHERE子句)。

 

如果只想從數(shù)據(jù)框架中選擇特定的列,則可以使用另一對方括號進行選擇。注意,如果要選擇多列,則需要在方括號內(nèi)放置數(shù)組[“ name”,“ age”]。

isin()與SQL中的IN完全相同。要使用NOT IN,需要在Python中使用negation(〜)來獲得相同的結(jié)果。

  1. GROUP BY,ORDER BY,COUNT 

 GROUP BY和ORDER BY也是用來探索數(shù)據(jù)的流行SQL,讓我們在Python中嘗試一下。

 

如果只想對COUNT進行排序,可以將布爾值傳遞給sort_values函數(shù);如果想對多列進行排序,則必須將布爾數(shù)組傳遞給sort_values函數(shù)。sum()函數(shù)將提供數(shù)據(jù)框架中的所有聚合數(shù)值總和列,如果只需要特定列,則需要使用方括號指定列名。

  1. MIN,MAX,MEAN,MEDIAN 

最后,來嘗試一些常見的統(tǒng)計功能,這些功能對于數(shù)據(jù)探索非常重要。

 

 

由于SQL沒有中位數(shù)函數(shù),因此將使用BigQuery APPROX_QUANTILES獲取年齡中位數(shù)。pandas聚合函數(shù).agg()還支持其他函數(shù),例如sum。

拒絕頻繁切換,輕松重現(xiàn)查詢,你值得擁有!

你可以在我的Github中查看完整的腳本:https://github.com/chingjunetao/medium-article/tree/master/rewrite-sql-with-python

本文轉(zhuǎn)載自微信公眾號「讀芯術(shù)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系讀芯術(shù)公眾號。

 

責任編輯:武曉燕 來源: 讀芯術(shù)
相關(guān)推薦

2020-11-19 15:26:36

SQLPandas代碼

2024-11-14 10:00:00

Python繼承

2018-12-25 16:30:15

SQL Server高效分頁數(shù)據(jù)庫

2021-10-12 05:00:27

PandasSQL查詢

2017-10-26 15:32:23

數(shù)據(jù)庫Oracle閃回查詢

2023-10-18 18:31:04

SQL查詢數(shù)據(jù)

2021-08-12 08:00:00

Pandas數(shù)據(jù)分析SQL

2021-07-09 12:37:31

GoPython編程語言

2022-06-22 09:56:19

PythonMySQL數(shù)據(jù)庫

2024-11-26 08:00:00

SQLPandasPandaSQL

2009-07-15 15:18:01

JDBC連接SQL S

2014-12-15 09:59:28

LinuxApache

2020-07-06 15:50:41

Python文件Linux

2021-07-02 20:37:19

Python代碼SRP

2025-01-21 15:20:14

2024-02-20 09:54:20

MySQL數(shù)據(jù)庫

2021-04-09 23:00:12

SQL數(shù)據(jù)庫Pandas

2021-01-18 17:23:30

代碼調(diào)試VS Code

2023-09-01 08:19:21

Flask

2021-06-08 09:18:54

SQLPandas數(shù)據(jù)透視表
點贊
收藏

51CTO技術(shù)棧公眾號