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

力扣之1369.获取最近第二次的活动

  • 题目:

  • sql建表语句

  • Create table If Not Exists UserActivity (username varchar(30), activity varchar(30), startDate date, endDate date);
    Truncate table UserActivity;
    insert into UserActivity (username, activity, startDate, endDate) values ('Alice', 'Travel', '2020-02-12', '2020-02-20');
    insert into UserActivity (username, activity, startDate, endDate) values ('Alice', 'Dancing', '2020-02-21', '2020-02-23');
    insert into UserActivity (username, activity, startDate, endDate) values ('Alice', 'Travel', '2020-02-24', '2020-02-28');
    insert into UserActivity (username, activity, startDate, endDate) values ('Bob', 'Travel', '2020-02-11', '2020-02-18');
  • 分析:首先,我们先按照姓名分组,然后按照开始时间排序,找出每个人的活动次序,然后我们再算出每个人的最大次数,然后筛选出最大值不为1,而且排序问最大值-1的信息,或者最大值和排序都为1的信息,下面是图解分析:

  • sql实现:

    with t1 as (select username,activity,startDate,endDate,row_number() over (partition by username order by startDate) rn from UserActivity        -- 首先按照姓名分组,然后按照开始时间排序,找出每个人的活动次序
    ),t2 as (select username,activity,startDate,endDate,rn,max(rn) over(partition by username) max_rn from t1  -- 然后我们再算出每个人的最大次数)
    select username,activity,startDate,endDate from t2  where (rn=max_rn-1 and max_rn!=1) or (rn=1 and max_rn=1) --筛选出最大值不为1,而且排序问最大值-1的信息,或者最大值和排序都为1的信息
  • pandas例子:

  • data = [['Alice', 'Travel', '2020-02-12', '2020-02-20'], ['Alice', 'Dancing', '2020-02-21', '2020-02-23'], ['Alice', 'Travel', '2020-02-24', '2020-02-28'], ['Bob', 'Travel', '2020-02-11', '2020-02-18']]
    user_activity = pd.DataFrame(data, columns=['username', 'activity', 'startDate', 'endDate']).astype({'username':'object', 'activity':'object', 'startDate':'datetime64[ns]', 'endDate':'datetime64[ns]'})
    
  • Pandas 分析与sql分析一样:

  • pandas实现:

    import pandas as pddef second_most_recent(user_activity: pd.DataFrame) -> pd.DataFrame:user_activity['rn']=user_activity.groupby('username')['startDate'].rank()  --按照姓名分组,然后按照开始时间排序user_activity['max_rn']=user_activity.groupby('username')['rn'].transform('max') -- 算出每个人的最大次数user_activity=(user_activity[((user_activity['rn']==1) & (user_activity['max_rn']==1)) |((user_activity['rn']==user_activity['max_rn']-1) & (user_activity['max_rn']!=1))].reset_index(drop=True)) -- 筛选出最大值不为1,而且排序问最大值-1的信息,或者最大值和排序都为1的信息user_activity=user_activity[['username','activity','startDate','endDate']] -- 取出所需要的列return user_activity

相关文章:

力扣之1369.获取最近第二次的活动

题目: sql建表语句 Create table If Not Exists UserActivity (username varchar(30), activity varchar(30), startDate date, endDate date); Truncate table UserActivity; insert into UserActivity (username, activity, startDate, endDate) values (Alic…...

Python 和 Jupyter Kernel 版本不一致

使用jupyter notebook时明明已经安装了包,但是导入时提示: ModuleNotFoundError: No module named ptitprince 1、检查安装环境 !pip show ptitprince Name: ptitprince Version: 0.2.7 Summary: A Python implementation of Rainclouds, originally…...

Android常用布局

目录 布局文件中常见的属性 1. 基本布局属性 1)android:layout_width 2)android:layout_height 3)android:layout_margin 4)android:padding 2. 线性布局 (LinearLayout) 属性 1)android:orientation 2)and…...

初级网络工程师之从入门到入狱(五)

本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习。 网络工程师从入门到入狱 前言一、链路聚合1.1、手动进行链路聚合1.1.1、 拓扑图:1.1.2、 LSW11.1.3、 LSW2 1.2、…...

JavaScript轮播图实现

这个代码创建了一个简单的轮播图&#xff0c;可以通过点击左右箭头或自动播放来切换图片。 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>js轮播图练习</title><style>.box {width: 60vw;height: 500px;m…...

【LLM开源项目】LLMs-开发框架-Langchain-Tutorials-Basics-v2.0

【1】使用LCEL构建简单的LLM应用程序(Build a Simple LLM Application with LCEL) https://python.langchain.com/docs/tutorials/llm_chain/ 如何使用LangChain构建简单的LLM应用程序。功能&#xff1a;将把文本从英语翻译成另一种语言。 实现&#xff1a;LLM调用加上一些提…...

Python 爬取天气预报并进行可视化分析

今天&#xff0c;我们就来学习如何使用 Python 爬取天气预报数据&#xff0c;并用数据可视化的方式将未来几天的天气信息一目了然地展示出来。 在本文中&#xff0c;我们将分三步完成这一任务&#xff1a; 使用 Python 爬取天气数据数据解析与处理用可视化展示天气趋势 让我…...

最左侧冗余覆盖子串

题目描述 给定两个字符串 s1 和 s2 和正整数 k&#xff0c;其中 s1 长度为 n1&#xff0c;s2 长度为 n2。 在 s2 中选一个子串&#xff0c;若满足下面条件&#xff0c;则称 s2 以长度 k 冗余覆盖 s1 该子串长度为 n1 k 该子串中包含 s1 中全部字母 该子串每个字母出现次数…...

性能测试-JMeter(2)

JMeter JMeter断言响应断言JSON断言断言持续时间 JMeter关联正则表达式提取器正则表达式正则表达式提取器 XPath提取器JSON提取器 JMeter属性JMeter录制脚本 JMeter断言 断言&#xff1a;让程序自动判断预期结果和实际结果是否一致 提示&#xff1a; -Jmeter在请求的返回层面有…...

芯课堂 | Synwit_UI_Creator(μgui)平台之图像处理篇

今天小编给大家介绍的是UI_Creator&#xff08;μgui&#xff09;平台下关于图像处理的选项。 UI_Creator&#xff08;μgui&#xff09;平台图片类控件有图像控件和分级图像控件&#xff0c;均包含以下选项&#xff1a; 1、消除水波纹&#xff1a; 由于16位真彩色&#xff08…...

QT C++ 软键盘/悬浮键盘/触摸屏键盘的制作

目录 1、前言 2、界面设计 3、英文、数字的输入 4、符号的输入 5、中文的输入 6、中文拼音库的选择 7、其他 8、结语 1、前言 使用QT C在带显示器的Linux系统 开发板上&#xff08;树莓派等&#xff09;编写操作UI界面时&#xff0c;很多时候都需要一个软键盘来输入文字…...

element-ui点击文字查看图片预览功能

今天做一个点击文字查看图片的功能&#xff0c;大体页面长这样子&#xff0c;点击查看显示对应的图片 引入el-image-viewer&#xff0c;点击的文字时候设置图片预览组件显示并传入图片的地址 关键代码 <el-link v-if"scope.row.fileList.length > 0" type&…...

SpringBoot集成Redis使用Cache缓存

使用SpringBoot集成Redis使用Cache缓存只要配置相应的配置类&#xff0c;然后使用Cache注解就能实现 RedisConfig配置 新建RedisConfig配置类 package com.bdqn.redis.config;import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annota…...

【瑞萨RA8D1 CPK开发板】lcd显示

1.8寸lcd使用gpio模拟spi驱动 由于板子引出的接口限制&#xff0c;故使用gpio模拟spi驱动中景园的1.8寸lcd 1.77寸液晶屏 1.8寸TFT LCD SPI TFT彩屏st7735驱动128x160高清屏-淘宝网 (taobao.com) 使用RASC 的gpio配置 根据厂家提供的驱动文件移植 #define LCD_SCLK_Clr() g…...

算法收敛的一些证明方法与案例

证明一个算法收敛通常涉及多个角度&#xff0c;以下是一些常用的方法和示例&#xff1a; 一、方法 1. 数学归纳法 通过数学归纳法证明算法在每一步的输出结果都在收敛范围内。 示例&#xff1a;考虑一个递归算法&#xff0c;假设我们要证明它在每一步中输出的值逐渐接近目标…...

基于vue框架的蛋糕店网上商城740g7(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,店长,商品分类,商品信息,订单投诉,反馈信息 开题报告内容 基于Vue框架的蛋糕店网上商城开题报告 一、项目背景与意义 随着互联网技术的快速发展和普及&#xff0c;电子商务已成为现代商业的重要组成部分。蛋糕作为一种受欢迎的美…...

你真的了解Canvas吗--解密六【ZRender篇】

目录 &#x1f4da;入口 Circle - 图形 Group - 组 事件捕获 - 流程 step - 1 step - 2 总结 这篇文章我们讲讲Circle圆形&#xff0c;Group组的使用以及大家最熟悉又陌生的事件捕获和冒泡在ZRender中的实现&#xff0c;篇幅较长&#xff0c;且听我慢慢分析。 &#x…...

孤独相伴 - 结婚十七年

07年的今天&#xff0c;我和老公请假&#xff0c;去了新加坡的大使馆领证。 17年后的今天&#xff0c;此刻凌晨16分&#xff0c; 这是17年来我第一次这么早写结婚纪念&#xff0c;只是凑巧。 今天的心情莫名其妙。 此刻&#xff0c;两个词出现在我的脑海&#xff1a;孤独 &am…...

json-server,跨域

启动json-serer json-server --watch db.json 注意&#xff1a; db.json为json文件的名称&#xff0c;你自己的文件名叫什么&#xff0c;就启动对应的文件就可以了 启动json-server的时候&#xff0c;必须在你db.json所在的文件夹下进行启动 这样服务器就可以启动成功了&…...

【Conda】修复 Anaconda 安装并保留虚拟环境的详细指南

目录 流程图示1. 下载 Anaconda 安装程序2. 重命名现有的 Anaconda 安装目录Windows 操作系统Linux 操作系统 3. 运行新的 Anaconda 安装程序Windows 操作系统Linux 操作系统 4. 同步原环境使用 robocopy 命令&#xff08;Windows&#xff09;使用 rsync 命令&#xff08;Linux…...

别再手动下载模型了!用Xinference一键部署Qwen、ChatGLM等大模型(附CUDA环境配置避坑指南)

别再手动下载模型了&#xff01;用Xinference一键部署Qwen、ChatGLM等大模型&#xff08;附CUDA环境配置避坑指南&#xff09; 在AI模型部署的实践中&#xff0c;手动下载模型文件、配置复杂环境、解决依赖冲突等问题常常让开发者头疼不已。传统部署流程不仅耗时耗力&#xff0…...

企业IT必看:教员工用小米手机配置Exchange邮箱的完整指南(含服务器参数详解)

企业IT标准化指南&#xff1a;小米手机Exchange邮箱配置与服务器参数解析 在移动办公成为标配的今天&#xff0c;企业邮箱的稳定接入直接关系到团队协作效率。根据2023年企业通信工具调研报告&#xff0c;超过67%的中大型企业仍在使用Exchange作为核心邮件系统&#xff0c;而员…...

解向量前33位是DG位置,后33位是无功补偿容量

3.基于遗传算法的配电网优化配置 主要内容&#xff1a;分布式电源、无功补偿装置接入配电网&#xff0c;考虑配电网经济性和电能质量为目标函数&#xff0c;使用遗传算法进行优化配置&#xff0c;在IEEE33节点&#xff0c;118节点系统进行了仿真验证。 文件夹内运行main函数。配…...

TranslucentTB:打造高效透明任务栏的终极指南

TranslucentTB&#xff1a;打造高效透明任务栏的终极指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB TranslucentTB 是一款专为 Wind…...

命令行玩转JUnit测试:Linux环境配置+批量执行技巧(JDK8/JUnit4.12)

命令行玩转JUnit测试&#xff1a;Linux环境配置批量执行技巧&#xff08;JDK8/JUnit4.12&#xff09; 在持续集成和DevOps实践中&#xff0c;服务器环境下的自动化测试执行能力直接影响交付效率。本文将深入讲解如何在Linux服务器上搭建无IDE的JUnit测试环境&#xff0c;解决依…...

K8S-etcd集群节点数据不一致的修复与恢复

1. 当etcd集群出现数据不一致时会发生什么 想象一下你正在管理一个三节点的Kubernetes集群&#xff0c;突然发现其中一个节点的etcd服务无法启动。这种情况就像乐队中的小提琴手突然走调&#xff0c;整个乐团的演奏都会受到影响。etcd作为Kubernetes的"大脑"&#xf…...

Windows平台Docker部署Home Assistant全攻略:从零配置到智能家居控制

1. 环境准备与Docker安装 想在Windows上玩转智能家居中枢&#xff1f;DockerHome Assistant组合绝对是新手友好方案。我去年给父母家改造智能家居时就用的这套方案&#xff0c;实测稳定运行一年多没出过问题。先说说基础环境搭建&#xff0c;这里会手把手带你避开我踩过的坑。 …...

雪女-斗罗大陆-造相Z-Turbo环境配置:MATLAB与AI模型的联合仿真

雪女-斗罗大陆-造相Z-Turbo环境配置&#xff1a;MATLAB与AI模型的联合仿真 最近在折腾一个挺有意思的项目&#xff0c;想把MATLAB强大的工程计算能力和现在流行的AI生成模型结合起来。你可能也遇到过类似的情况&#xff1a;用MATLAB跑完一堆仿真&#xff0c;生成了海量的数据和…...

Meixiong Niannian画图引擎CFG引导实验:从3.0到12.0的画质变化图谱

Meixiong Niannian画图引擎CFG引导实验&#xff1a;从3.0到12.0的画质变化图谱 1. 引言&#xff1a;为什么CFG系数如此重要&#xff1f; 如果你用过AI画图工具&#xff0c;一定遇到过这样的困惑&#xff1a;明明描述词写得很好&#xff0c;为什么生成的图片要么太“放飞自我”…...

从服务边界到性能边界:理解 ABAP CDS View 里的窄投影及其重要性

结论先讲清楚 在 ABAP CDS 语境里,很多开发者口中的 窄投影,本质上并不是一个独立的官方语法关键字,而是一种建模策略:在 CDS projection view 这一层,只暴露某个具体业务服务真正需要的那一小部分字段、关联、行为和注解,不把底层业务对象里所有能拿到的内容一股脑端出…...