当前位置: 首页 > wzjs >正文

做任务赚q币的网站知名网站排名

做任务赚q币的网站,知名网站排名,专业做网站关键词排名下掉,网站建设方向本题用到知识点:row_number(), union, date_sub(), to_timedelta()…… 目录 思路 pandas Mysql 思路 链接:报告系统状态的连续日期 思路: 判断连续性常用的一个方法,增量相同的两个列的差值是固定的。 让日期与行号 * 天数…

本题用到知识点:row_number(), union, date_sub(), to_timedelta()……

目录

思路

pandas

Mysql


思路

链接:报告系统状态的连续日期

思路:

判断连续性常用的一个方法,增量相同的两个列的差值是固定的。

让日期与行号 * 天数相减,连续的区域就会的得到相同的结果。

不同的连续区域得到不同结果(因为来连续到不连续,中间出现了增量不为1的情况。但是行号总是增量为1,所以下一个连续区域与行号的差值与上一个连续区域不同。)

如:1~2 连续,7~8连续,但是与行号的差值tag并不相同。

根据相同的tag分组后,找到分组种的最大最小时间分别作为开始时间和结束时间,

两个表都根据上述操作后之际纵向拼接后按照开始时间升序输出。

pandas

import pandas as pddef report_contiguous_dates(failed: pd.DataFrame, succeeded: pd.DataFrame) -> pd.DataFrame:f_date_vaild = (failed['fail_date'] >= '2019-01-01') & (failed['fail_date'] <= '2019-12-31')failed = failed[f_date_vaild]failed['tag'] = failed['fail_date'] - pd.to_timedelta(failed.index,unit='d')failed = failed.groupby(by='tag')['fail_date'].agg(start_date='min',end_date='max').reset_index()failed['tag'] = 'failed's_date_vaild = (succeeded['success_date'] >= '2019-01-01') & (succeeded['success_date'] <= '2019-12-31')succeeded = succeeded[s_date_vaild]succeeded['tag'] = succeeded['success_date'] - pd.to_timedelta(succeeded.index, unit='d')succeeded = succeeded.groupby(by='tag')['success_date'].agg(start_date='min', end_date='max').reset_index()succeeded['tag'] = 'succeeded'return pd.concat([succeeded,failed],axis=0).rename(columns={'tag':'period_state'}).sort_values(by='start_date',ascending=True)

中间结果示例:failed表获取tag后

Mysql

pandas直接使用index作为行号,mysql则使用排名row_number()来获得固定增量的行号。

with f as 
(
select fail_date,
row_number() over(order by fail_date asc) as rn from failed 
where fail_date between '2019-01-01' and '2019-12-31')
,fg as 
(
select 'failed' as period_state,
min(fail_date) as start_date,
max(fail_date) as end_date
from 
(
select 
fail_date,
date_sub(fail_date,interval rn  day) as tag
from f 
) t
group by tag
)
,
s as 
(
select success_date,
row_number() over(order by success_date asc) as rn from succeeded
where success_date between '2019-01-01' and '2019-12-31'
)
,
sg as 
(
select 'succeeded' as period_state,
min(success_date) as start_date,
max(success_date) as end_date
from 
(
select 
success_date,
date_sub(success_date,interval rn  day) as tag
from s 
) t
group by tag
)select * from 
(
(select * from fg)union all (select * from sg)
) t
order by start_date asc

http://www.dtcms.com/wzjs/413935.html

相关文章:

  • 5g空间大吗企业网站一手渠道推广平台
  • 罗湖做网站的公司哪家好百度交易平台
  • 找做课件的网站郑州网站排名优化公司
  • 免费的ps软件天津放心站内优化seo
  • 设计招聘专业网站青岛seo杭州厂商
  • 政府网站建设 调研报告百度广告费
  • 网站建设有待加强国内十大搜索引擎
  • 做海外房产最好的网站市场调研表模板
  • 手机企业网站seo线下培训课程
  • 如何做微商城网站建设百度关键词推广教程
  • 网站收录提交入口网址竞价推广平台
  • 时代设计网 新网站域名被墙检测
  • seo针对网站做策划宁波seo推广优化哪家强
  • 怎么申请网站域名培训网站模板
  • 做同城购物网站赚钱吗网站模板平台
  • 深圳网深圳网站开发公司中国互联网电视app下载安装
  • 北京做网站浩森宇特深圳网络推广网站
  • 淘宝上做网站排名百度推广年费多少钱
  • wordpress 网站开发四川百度推广和seo优化
  • 营口做网站企业优化关键词可以选择哪个工具
  • 世界服装鞋帽网免费做网站seo优化排名易下拉用法
  • 帝国cms做微网站软文发布平台排名
  • 柚段子wordpress东莞seo快速排名
  • 网站运营推广怎么做许昌网络推广公司
  • 客户开发软件工具seo收费
  • 网站 宽屏窄屏自适应嘉定区整站seo十大排名
  • 包头网站设计百度推广公司电话
  • 做教育集团的网站建设网页查询
  • 用java做网站的步骤网站后台管理系统
  • 微信微网站开发百度云seo实战培训班