为什么 SQL 程序员也要懂 Python?
2019-11-13 14:37
811 查看
越来越多的分析师正在寻找使用Python处理数字和理解数据的新方法。
以下为译文:
WITH details AS (
SELECT series,
value,
ROW_NUMBER() OVER (PARTITION BY series ORDER BY value) AS row_number,
SUM(1) OVER (PARTITION BY series) AS total
FROM dataset
),
quartiles AS (
SELECT series,
value,
AVG(CASE WHEN row_number >= (FLOOR(total/2.0)/2.0)
AND row_number <= (FLOOR(total/2.0)/2.0) + 1
THEN value/1.0 ELSE NULL END
) OVER (PARTITION BY series) AS q1,
AVG(CASE WHEN row_number >= (total/2.0)
AND row_number <= (total/2.0) + 1
THEN value/1.0 ELSE NULL END
) OVER (PARTITION BY series) AS median,
AVG(CASE WHEN row_number >= (CEIL(total/2.0) + (FLOOR(total/2.0)/2.0))
AND row_number <= (CEIL(total/2.0) + (FLOOR(total/2.0)/2.0) + 1)
THEN value/1.0 ELSE NULL END
) OVER (PARTITION BY series) AS q3
FROM details
)
SELECT series,
MIN(CASE WHEN value >= q1 - ((q3-q1) * 1.5) THEN value ELSE NULL END) AS minimum,
AVG(q1) AS q1,
AVG(median) AS median,
AVG(q3) AS q3,
MAX(CASE WHEN value <= q3 + ((q3-q1) * 1.5) THEN value ELSE NULL END) AS maximum
FROM quartiles
GROUP BY 1
dataset.describe()
考虑Python和SQL之间区别的另一种方法是,Python允许你从一个大表开始,从这个大表开始,可以在不同的分支上进行不同的分析。一条灵感之路可以把你带到另一条路,分析的速度和灵活性使得许多探索路径变得容易。
热 文 推 荐
☞天猫回应“双11数据造假”:已启动司法流程;小米折叠手机专利曝光;ASP.NET感染勒索软件|极客头条
☞重大利好!人民日报海外版整版报道:区块链“链”向未来,既要积极又要稳妥
点击阅读原文参与开发者大调查,好礼送不停!
相关文章推荐
- 同样是学习Python的程序员,为什么他却可以用Python两年躺赚200W
- 【Python】Java程序员学习Python(一)— 为什么学习Python
- 为什么每个程序员都应该学点Python?
- 为什么用Java——一个来自Python阵营的程序员告诉你
- 为什么用 Java :一个来自 Python 阵营的程序员告诉你
- 让老程序员告诉你为什么python越来越热
- 为什么程序员要学Python?
- 为什么用 Java—— 一个 Python 程序员告诉你
- 为什么 Python 对程序员重要?
- CSDN日报20170512 ——《程序员,你为什么值这么多钱?》
- 为什么程序员的工作效率跟工资不成比例
- 为什么中国的程序员技术偏低
- 为什么做一名程序员(转)
- python SQLAchemy多外键关联
- 程序员为什么喜欢夜间工作
- 为什么程序员怕改需求?
- 我为什么要学Python
- Python 为什么list不能作为字典的key?
- 做了十年的程序员,为什么我没有加班
- @程序员,为什么选择 Racket 语言?