"}] 以上数据来源于python构造的,如果有需要的同学可关注公众号HsuHeinrich,回复【SQL02】自动获取~ 常见的业务SQL实例 汇总统计 计算每个用户的活跃天数、练习次数、在...12月的活跃天数。...生成自2000-01-01后每一天的日期信息,包含但不限于年、月、日、月初、月末等 知识点:各类日期函数的应用 select dt ,from_unixtime(unix_timestamp...计算每个用户最大连续登陆天数和最大沉睡天数 select uid ,max(continue_nums) as max_continue_nums ,max(max_sleep_nums...简单的一句话:当你知道如何最正确的使用count()和count(distinct)时,你的逻辑就是清晰的。 最后,给大伙出道简单的综合题吧:给定起始值和结束值(均为整数),构造步长为1的等差数组。
注意:Python排列顺序使用参数ascending控制;R语言中使用desc函数; 1.2 rename函数 重命名函数,Python和R语言中使用方法相同,new_name = old_name...###计算x、y、z的最大值和最小值 diamonds >> summarize_each([np.max, np.min], X.x, X.y, X.z) >> head(4) ?...R实现 ##计算钻石价格price的最大值、最小值 diamonds %>% summarise(price_max = max(price), price_min=min(price)) ###计算钻石...4 聚合函数 聚合函数是对某一列数据,使用分组函数和排序函数进行处理之后(可以省略),使用聚合函数,返回一个值。...5 总结 数据处理1-3,主要介绍了Python中dfply和R中dplyr包中的数据处理函数,几乎满足数据预处理中筛选变量、衍生变量以及计算一些统计量的需求。
count(1) >= 4 ) tmp3 GROUP BY id; 详解: 1:利用rown_number,按用户分组,登录时间升序 2:本次登录日期减去步骤一生成自增序列...,形成第一道日期基准 3:利用dense_rank,按用户分组,步骤二形成的日期基准升序 4:步骤二的日期基准减去步骤三的自增序列,形成最终的日期基准 5:按步骤四形成的用户和最终日期基准分组,过滤出次数大于等于...和 count 窗口函数 4:取出日期基准为1的数据和最后一条数据 5:比较当前行和前一行rn的差,为连续登录的天数(最后一行特殊处理) 6:根据用户去重,获得结果 方法四:采用sum分组 SELECT...2:本文给的几个例子都是先求最基本的基准 方法一使用自增序列,获取一个临时基准,然后又用dense_rank,让同一基准内的数据划分到一起,最终获得分组的一个base_dt,但是此方法不灵活,需求修改为多天的话...1,然后添加一个自增序列,那么就可以把1的和最后一条提取出来,然后计算前后的序列差,但是要注意最后一条要特殊处理 方法四巧妙的利用sum窗口,基准为0的数据sum后还是数据本身,然后就能生成分组的基准
as diff_ts from (select id,ts, lag(ts,1,0) over(partition by id order by ts ) as lag_ts,--找不到上一条...,置0 from tmp.table_test2 ) t1 )t2; 19 打折日期交叉问题 如下为平台商品促销数据:字段为品牌,打折开始日期,打折结束日期,计算每个品牌总的打折销售天数,注意其中的交叉日期...,比如vivo品牌,第一次活动时间为2021-06-05到2021-06-15,第二次活动时间为2021-06-09到2021-06-21其中9号到15号为重复天数,只统计一次,即vivo总打折天数为2021...2 比较开始时间和下移的数据 如果开始时间大 则无需操作 反之需要移动下来的数据加1后替换当前行的开始时间 第一行数据无需替换 3 计算开始时间与结束时间的差值 4 按照品牌进行分组 计算每条真是数据加...score_time asc) as diff_score from bktab ) t1 ) t2 where if_surpass = 1 23 SQL实现次日、三日及七日用户留存率的计算
,并给出连续满足天数及开始和结束日期。...备注:不考虑停牌或其他情况,仅仅关注每天连续5天上涨超过5%的股票。...GOOG | 2023-03-06 | 2955.91 | +-------------+-------------+----------------+ 2.问题分析 首先应该计算每天相对昨天的涨幅...,这个使用lag函数; 然后判断是否符合涨幅超过5%; 然后处理连续问题,使用row_number()函数; 最后计算天数、开始日期、结束日期,返回结果; 3.SQL step1:使用lag函数计算每天的涨幅...,连续问题 ,不熟悉的朋友欢迎阅读底部的参考文章。
这一次的内容太多了,我讲了 2 小时都没讲完,后续再放视频吧。有一段还忘记录了。。。...+ - * / > < == 偏移 dplyr:: lag lead 聚合 dplyr:: cumall cumany cummax cummean cummin cumprod cumsum 排序...write_* data.table 与 base 数据导入 fread 数据导出 fwrite data.table 语法 dt[i, j, by] 数据过滤与合并等操作与 R 基础语法一致,也可以使用...tidyverse 处理 整数索引 逻辑索引 命名索引 进一步的学习参考小抄、文档和《R 语言编程指南》 后几期主题 本期未讲述的内容???...正则表达式与字符串处理:base 与 stringr 列表处理与迭代计算:purrr 统计建模:stats 与 broom 绘图:graphics 与 ggplot2 函数编程:apply家族和purrr
可以按如下方式计算日期时间偏移的持续时间:yx + yxyDateDateTimeDateTimeZoneTime 如果指定了日期时间自纪元值以来的天数,则使用以下信息元素构造一个新的日期时间: 计算自纪元以来的新天数...,相当于将 y 的大小除以 24 小时内的 100 纳秒刻度数,截断结果的小数部分,并将此值添加到自纪元以来 x 的天数。...计算自午夜以来的新滴答声,相当于将 y 的大小添加到自午夜起 x 的滴答声中,以 24 小时周期内 100 纳秒滴答声的数量为模。如果 x 没有指定自午夜以来的刻度值,则假定值为 0。...如果未指定日期时间自纪元值以来的天数,请使用指定的以下信息元素构建新的日期时间: 计算自午夜以来的新滴答声,相当于将 y 的大小添加到自午夜起 x 的滴答声中,以 24 小时周期内 100 纳秒滴答声的数量为模...如果 x 没有指定自午夜以来的刻度值,则假定值为 0。 复制自纪元以来的天数和与 UTC 的分钟偏移量不变的 x 值。
本文的写作由来是知识星球一个朋友对如何在 tidyverse 系列包中使用公式函数(单侧公式)不太熟悉,所以通过本文分享一下我的心得。...::filter() masks stats::filter() #> x dplyr::lag() masks stats::lag() set.seed(1234) x <- rnorm(100...这里值得注意的是,当匿名函数只有一个参数时,我们用 .x 表示函数的输入参数。如果进行拓展,2 个参数时使用 .x 与 .y,3 个参数时使用 ..1, ..2, ..3 等。...计算残差 最开始的图形显示了 x 和 y 是一个线性关系,假设我们目前有一个任务:构建回归模型并手动计算残差,绘制结果图。 我们来看看如何操作。...dplyr 包的 mutate() 语境,所以可以直接写列名。
以下是使用几个简单的函数实现给定指定年月实现当月日历输出的程序,大部分内容引用自网易云课堂哈工大开设的Python程序设计入门函数一章的课后作业。 程序设计图如下: ?...自下往上看: is_leap_year 判断是否为闰年 get_num_of_days_in_month 获得每月的天数 get_total_num_of_days 获得自1800年1月1日以来经过的天数...return True else: return False def get_num_of_days_in_month(year, month): # 给定年月返回月份的天数...年1月1日以来过了多少天 days = 0 for y in range(1800, year): if is_leap_year(y): days...实现起来难度不大,只是在格式控制上需要花点心思,具体详见print_month_body函数的注释。 第一次用Python编了一个有八十行的程序,希望大家多多指教。
解题思路是要通过查询,利用信息差过滤掉同一个页面第一次登录后的连续访问记录。...,即要判断用户第一次访问的页面与后面第二次访问页面是否相同,即“t1的访问序号=t2的访问序号+1”。...=t2.访问的页面; 运行结果为: 【本题考点】 1、自联结。本题利用自联结,获得信息差。自联结是指使用表的别名实现表与其自身联结的查询方法。...但是用自联结查询可以轻松解决,自联结查询就是以类似多表对比的方式,实现对同一张表内数据进行复杂的关系表示或关系处理。关键点在于虚拟化出一张表给一个别名。...【此面试题的总结】: 此题重点考察的是计算逻辑和窗口函数。怎么理解数据,并取出需要的行数,需要很强的逻辑思路,属于面试题中比较难的题目。逻辑思路正确是写正确代码的前提。
周同比即当天和上周同一天数据的变化百分比,日环比即当天和昨天数据的变化百分比。本文也主要计算周同比和日环比。数据概况如下,是随机生成的两个月的销售额数据。...思路一:自关联,关联条件是日期差分别是1和7,分别求出当天,昨天,7天前的数据,用三列形式展示,之后就可以进行作差和相除求得百分比。...这种写法巧妙地使用表的别名查询出了前1天和前7天的金额,效果和第一种写法一样,不过这种写法可能小众一点。...方法三:使用pandas的pct_change()函数计算 orderamt = pd.read_excel('orderamt.xlsx') orderamt['ld_pct'] = orderamt...至此,我们完成了SQL和pandas中对于周同比和日环比计算的过程。 ◆ ◆ ◆ ◆ ◆ 小结 本篇文章中,我们使用SQL和pandas的多种方法对常见的周同比和日环比进行计算。
在对数据进行可视化之前我们往往需要进行数据转换以得到可视化所需要的数据内容与格式。这里我们使用dplyr包操作2013年纽约市的航班起飞数据集(2013)。...准备 这部分我们聚焦于如何使用dplyr包,除ggplot2的另一个tidyverse核心成员。我们将使用nyclights13数据包解释关键的概念并使用ggplot2帮助理解数据。...## lag(): dplyr, stats 注意一下你导入tidyverse包时给出的冲突信息(Conflicts),它告诉你dplyr覆盖了R基础包中的函数。...如果你想要在载入tidyverse包后仍然使用这些函数,你需要使用函数的全名stats::filter()和stats::lag()进行调用。...)对于R而言,它会先计算11|12得到1,然后计算month == 1,这就不是我们需要的了!
在SAS编程中,经常遇需要判断一条观测下,缺失值的情况的,比如:“是否有不良事件选择否,但不良事件记录不全为空”。那么就来看看几个函数,如何来实现计算缺失值的情况。...,注释部分,有对N、CMISS、NMISS函数使用的说明。...在编程的过程中,我们经常会出现,对于多个变量,取第一次非空的那个变量的值,当然实现的方法很多种,众多的方法也没有俩个函数来的简单直接... aa=coalescec(a1,a2,a3,a4,a5); /...,函数的使用就是这么简单......现在的临床试验用的数据,导出的大部分都是按照Domain进行划分的,也是纵表的结构,我们经常会计算访视时间窗,本次访视与上次访视的差值,当然实现的方式有很多,那么如何可以用函数来快捷把上次访视的日期衍生一个新的变量呢
现在的任务是计算每个品牌的总的打折销售天数。然而,由于数据中存在时间交叠的情况,我们需要合理处理这种情况,避免重复计算销售天数。因此,你需要设计一条 SQL 查询来解决这个问题。...请编写一条 SQL 查询,计算每个品牌总的打折销售天数,要求正确处理时间交叠的情况,并给出你的解决方案。...现在的任务是编写一条 SQL 查询,计算员工薪水的中位数。由于计算中位数需要对数据进行排序和分析,这个问题在 SQL 中相对复杂。你可以使用窗口函数和子查询等技术来解决。...请编写一条 SQL 查询,计算每个用户的最长连续登录天数。 请编写一条 SQL 查询,计算连续登录天数3天的用户。...请编写一条 SQL 查询,计算连续登录天数3天的用户(非连续2天以上未登录为连续登陆的定义)。
,并给出连续满足天数及开始和结束日期。...备注:不考虑停牌或其他情况,仅仅关注每天连续5天上涨超过5%的股票。...GOOG | 2023-03-06 | 2955.91 | +-------------+-------------+----------------+ 二、分析 首先应该计算每天相对昨天的涨幅...,这个使用lag函数;然后判断是否符合涨幅超过5%;然后处理连续问题,使用row_number()函数;最后计算天数、开始日期、结束日期,返回结果; 维度 评分 题目难度 ⭐️⭐️⭐️ 题目清晰度 ⭐️...⭐️⭐️⭐️⭐️ 业务常见度 ⭐️⭐️⭐️⭐️⭐️ 三、SQL 1.使用lag函数计算每天的涨幅。
添加了额外的数据质量带,表示洪水事件期间的云状况(例如,“clear_views”表示在洪水开始和结束日期之间观察到的晴天数,“clear_perc”表示整个事件中晴天观测的百分比持续时间(天)。...1 - 地表水面积0 - 没有水 duration 天 事件期间地表水的持续时间(以天为单位)。像素值表示在事件期间像素区域被视为水的复合天数。使用为期 3 天的 MODIS 复合影像。...1 - 地表水面积 0 - 没有水 duration天 事件期间地表水的持续时间(以天为单位)。像素值表示在事件期间像素区域被视为水的复合天数。使用为期 3 天的 MODIS 复合影像。...dfo_severity 双倍的 洪水事件的严重性(DFO 数据库): 1 - 大型洪水事件、对结构或农业的重大破坏、死亡人数和/或自上次类似事件以来报告的 5-15 年间隔1.5 - 非常大的事件...1 - 大型洪水事件、对结构或农业的重大破坏、死亡人数和/或自上次类似事件以来报告的 5-15 年间隔 1.5 - 非常大的事件:>15 年但 <100 年的复发间隔 2 - 极端事件:复发间隔 > 100
StandaloneosLinux2.6.18-274.el5x8664Redis所在机器的操作系统arch_bits64架构(32或64位)multiplexing_apicpollRedis所使用的事件处理机制...tcp_port6384监听端口uptime_in_seconds9753347自Redis服务启动以来,运行的秒数uptime_indays112自Redis服务启动以来,运行的天数hz10serverCron...0否,Ⅰ是rdb_changes_since_last_save53308858自上次RDB后,Redis数据改动条数rdb_bgsave_in_progresso标识RDB的bgsave操作是否进行中...当前使用中的频道数量pubsub_patterns0当前使用中的模式数量latest_fork_usec16194最近一次fork操作消耗的时间(微秒)migrate_cached_sockets 0记录当前...8948465,lag=I连接的从节点信息master_repl__offset4.26979E+11主节点偏移量从节点master_host10.10.xx.63.主节点IPmaster_port6387
(df,5) 76 数据处理 题目:将数据向前移动5天 难度:⭐⭐ R解法 lead(df,5) 77 数据计算 题目:使用expending函数计算开盘价的移动窗口均值 难度:⭐⭐ R解法 #R中没有...)) %>% dplyr::rename(`0` = "seq(0, 99, 5)") 84 数据创建 题目:从NumPy数组创建DataFrame 难度:⭐ 备注 使用numpy生成20个指定分布...which(df['col1'] %% 5==0) 92 数据计算 题目:计算第一列数字前一个与后一个的差值 难度:⭐⭐ R语言解法 df %>% summarise(col1 - lag(col1...- lag(res) == -2) - 1 # # [1] 3 5 7 12 14 17 19 96 数据计算 题目:按行计算df的每一行均值 难度:⭐⭐ R语言解法 rowMeans(df) 97...题目:将第一列大于50的数字修改为'高' 难度:⭐⭐ R语言解法 df[df$col1 > 50,1] <- '高' 100 数据计算 题目:计算第一列与第二列之间的欧式距离 难度:⭐⭐⭐ 备注 不可以使用自定义函数
里讲过遇到“连续问题”如何解决,并送出了一个万能模板,模板使用的是窗口函数解决连续问题。...窗口函数 窗口函数lead使用方法: lead(字段名,N,默认值) over(partion by …order by …) 默认值是指:当向上N行或者向下N行值时,如果已经超出了表行和列的范围时,会将这个默认值作为函数的返回值...这样,可以判断用户连续登陆的情况。 接下来就解决用户每次连续登陆天数的计算。 3....子查询 用户每次连续登陆天数与用户登陆顺序存在某种必然的关系,此时我们可以先用子查询将用户在本月的阅读顺序查询出来,使用窗口函数row_number: select *, lead(日期...与原题的区别在于: 1)“连续2天”变成了“连续5天”:对最后的where条件进行修改; 2)查询“用户名单”变成了“用户数”:用户group by和count(distinct 用户id)计算用户数。
前段时间有小伙伴问怎么手动计算logFC,今天说一下。 logFC是log fold change的缩写,也就是log之后的差异倍数。...这个差异倍数意思是某个基因在A组表达量的平均值是B组表达量平均值的几倍。 这个东西的计算其实很简单的,就是常规的对数计算而已。...logFC 根据前面的理论,我们可以自己计算logFC,思路就是分别计算某个基因在两组中的平均表达量,然后直接相减即可。...下面我们用dplyr中的rowwise操作实现这一过程,当然还有其他方法,选择自己喜欢的即可。...logfc和上面limma包计算的logFC基本上是一样的(有误差,可以忽略)哦。
领取专属 10元无门槛券
手把手带您无忧上云