- 博客(63)
- 收藏
- 关注
原创 Pandas刷题(LeetCode 601.体育馆的人流量)
类似sql窗口函数的应用groupby('r3')['r3'].transform('count') 以及连续问题
2025-05-13 11:32:32
597
原创 SQL&Pandas刷题(LeetCode3451.查找无效的IP地址)
①substring_index 括号里的3 指的是符号"."分割之后的前三位-1是指分割后从右往左数第一位②判断为八位字节ip 即分隔符为三个= 3③loc和iloc区别 iloc是索引位置 loc是索引,列名④reset_index是重置索引⑤正则表达式10-99(无前导零):[1-9][0-9]0-9:[0-9]开头 ^结尾 $
2025-04-24 15:36:34
991
原创 Pandas刷题(LeetCode185. 部门工资前三高的所有员工)
①排名函数的用法积累dense_rankrow_number在python中的应用②根据多列进行排序。
2025-04-23 13:55:37
815
原创 SQL数据库刷题sql_day35(每个人的staytime的拼接)
①在hql中 没有 ifnull函数 可以用nvl 函数代替 但是类型得是字符串 (mysql中无要求)②collect_list()的妙用 只有hivesql有 是一个列转行的区别collect_set()也可以实现 后者会自动去重。
2024-10-24 23:46:33
774
原创 SQL数据库刷题sql_day34(移动平均值、累计求和)
①rows 是根据该行的上下行划定范围的range是根据该行的值的邻近值划定范围(所以注意格式)②pandas里的cumsum函数的积累 求累计和pands求近三行数据用rolling(window=3,min_periods=1)window:指定窗口的大小,即参与计算的连续数据点的数量。:指定窗口中至少需要有多少个非缺失值数据点才进行计算,默认为None,表示窗口大小的所有数据点都必须存在才进行计算。center:如果为True,则将窗口的标签设置为居中在当前位置。
2024-10-16 22:48:11
1152
1
原创 SQL数据库刷题sql_day33(连续3次为球队得分的球员名单)
①对数据进行去重可以使用distinctgroup by 分组窗口函数对去重列 排序(row_number)和编号再筛选子查询 in 、 exists创建一个临时表或派生表,其中只包含唯一的记录,然后从这个临时表中查询数据。
2024-10-15 20:08:16
901
原创 Pandas -----------------------基础知识(八)
【代码】Pandas -----------------------基础知识(八)
2024-10-07 15:15:31
275
原创 Pandas -----------------------基础知识(主要matplotlib知识)(七)
①df.T 行变列、列变行②透视表以列名1作为索引根据列名2进行分组对列名3使用pandas内置的聚合函数进行计算返回新的df对象index='列名1',columns='列名2',values='列名3',aggfunc='内置聚合函数名',margins=True # 默认是False, 如果为True,就在最后一行和最后一列,按行按列分别执行aggfunc参数规定的聚合函数# index:返回df的行索引,并依据其做分组;传入原始数据的列名。
2024-10-05 23:58:43
436
原创 Pandas -----------------------基础知识(六)
①类型Pandas数据类型Python类型说明objectstr字符串int64int整数float64float浮点数boolbool布尔值category无原生类型分类类型datetime无原生类型时间日期类型timedelta无原生类型时间差类型②数据结构中的数据类型object --> python str 字符串 【数据类型】int64 --> python int 整数 【数据类型】
2024-10-05 02:30:39
1218
原创 Pandas -----------------------基础知识(五)
Index(['区域', '地址', '户型', '面积', '价格', '朝向', '更新时间', '看房人数'], dtype='object')print(df2.sort_values(['价格', '看房人数'], ascending=[True, False]))# 2.2 使用索引下标df2.index[0]和s.index[0]可以获取具体的某一个索引值。new_df.columns = ['列名1','列名2']new_df = df[['区域','价格']]
2024-09-27 21:22:03
1118
原创 LeetCode_sql_day33(177.第N高的薪水)
limit 2,1 就是 第三高 那么 limit n-1,1 就是第N个。法二 用窗口函数给工资排名 取第N个。该表的每一行都包含有关员工工资的信息。法一 可以使用limit 取第N个。在 SQL 中,id 是该表的主键。个最高工资,查询结果应该为。查询结果格式如下所示。
2024-09-27 11:44:04
371
原创 Pandas -----------------------基础知识(四)
自定义函数Series加载数据import pandas as pddf = pd.DataFrame({'Age': [20, 25, 30, 35, 40]})df# 目标: 让 Age 列 的每个元素 + num1 + num2def add_nums(x,num1,num2): return x + num1 + num2df['Age'].apply(add_nums,num1 =2,num2 =3)法二df['Age'].apply(lamb
2024-09-27 11:35:51
365
原创 Pandas -----------------------基础知识(三)
df.insert(loc=area_index+1,column='区县',value=['朝阳区', '朝阳区', '西城区', '昌平区', '朝阳区','朝阳区', '朝阳区', '西城区', '昌平区', '朝阳区'])print('============修改前===================')print('============修改后===================')对 '户型', '朝向' 去重, 保留第一条, 不影响原始数据。
2024-09-23 23:57:16
804
原创 Pandas -----------------------基础知识(二)
((new_df['区域']=='天通苑租房') | (new_df['区域']=='望京租房') | (new_df['区域']=='北苑租房')) & ((new_df['朝向']=='东') | (new_df['朝向']=='南'))new_df['价格'].to_frame()[(new_df['区域'].isin(['天通苑租房', '北苑租房', '小西天租房'])) & (new_df['朝向'].isin(['南', '东南']))]
2024-09-22 21:30:50
1339
原创 LeetCode_sql_day31(1384.按年度列出销售总额)
①加深对recursive循环的理解②对于法二所展现的思想 需要积累先求出最大的时间差 然后用开始时间相加 获取每一天的年份 省去了复杂的条件判断。
2024-09-22 10:55:02
727
原创 LeetCode_sql_day30(1264.页面推荐)
case when 的用法 很奇妙 可以积累一下遇到涉及到两列的数据 可以考虑使用union 和 case when。
2024-09-20 20:12:43
804
原创 MapReduce基本原理
读取数据--> 定义map --> 分区 --> 排序 --> 规约 --> 分组 --> 定义reduce --> 输出数据。
2024-09-20 17:03:43
644
原创 LeetCode_sql_day29(1501.可以放心投资的国家)
①除了substr(phone_number,1,3)截取电话号前三位 之外还能使用left函数② 也可以先union all 再做连接 这样会少一次连接。
2024-09-20 16:24:41
1108
原创 Pandas -----------------------基础知识(一)
s/df>表示s对象或df对象<s/df>.size # 返回数据个数<s/df>.shape # s返回(行数,),df返回(行数,列数)<s/df>.dtypes # s返回数据类型,df返回列名和该列数据的类型<s/df>.values # 返回全部值<s/df>.index # 查看索引<s/df>.head() # s返回前5个数据,df返回前5行数据<s/df>.tail() # s返回后5个数据,df返回后5行数据。
2024-09-20 12:36:40
1632
原创 LeetCode_sql_day28(1767.寻找没有被执行的任务对)
掌握 用recursive循环 构造数列先用1作为起点再将一个值作为where 终点 此处来源表为recursive后的表。
2024-09-19 21:27:19
843
原创 数据库基础知识---------------------------(2)
就在于,对全局变量的修改会影响到整个服务器,但是对会话变量的修改,只会影响到当前的会话(也就是当前的数据库连接)在语法中,变量声明、游标声明、handler声明是必须按照先后顺序书写的,否则创建存储过程出错。用来存储查询结果集的数据类型,在存储过程中可以使用光标对结果集进行循环的处理。iterate类似于 continue,继续,结束本次循环,继续下一次。即使传入变量也不会更改变量的值,可以内部更改,仅仅作用在函数范围内。in 输入参数,参数要传到存储过程的过程里面去,if 条件表达式 then。
2024-09-19 00:02:21
1208
原创 LeetCode_sql_day27(1225.报告系统状态的连续信息)
①最后求end_date 时用last_value就会出错 换了一种写法用的max②碰到日期 求最大 最小 可以优先考虑max min函数③注意排序 不然数据多的时候 会出现错乱④first_value 取第一个值 注意排序⑤last_value 取最后一个值 它默认范围是要想使用它 需要重新设置范围 如下。
2024-09-18 21:14:06
1227
1
原创 LeetCode_sql_day26(184,1549,1532,1831)
描述 184.部门工资最高的员工表:Employee+--------------+---------+| 列名 | 类型 |+--------------+---------+| id | int || name | varchar || salary | int || departmentId | int |+--------------+---------+在 SQL 中
2024-09-17 23:05:19
1172
原创 LeetCode_sql_day25(1919.兴趣相同的朋友)
本题很容易忽略的一个点是要对数据去重根据歌曲求和时要对歌曲去重最后关联听众id时 也要对两者去重。
2024-09-15 21:08:48
970
原创 YARN----调度策略
当第一个大job提交时,只有这一个job在运行,此时它获得了所有集群资源;当第二个小任务提交后,Fair调度器会分配一半资源给这个小任务,让这两个任务公平的共享集群资源。最终效果就是Fair调度器即得到了高的资源利用率又能保证小任务及时完成。在进行资源分配的时候,先给队列中最先上的应用进行分配资源,待最头上的应用需求满足后再给下一个分配。Capacity 调度器允许多个组织共享整个集群,每个组织可以获得集群的一部分计算能力,为每个组织分配专门的队列,然后再为每个队列分配一定的集群资源。
2024-09-13 21:12:28
380
原创 yarn运行机制原理
如果初始化的时候 只是返回mapTask运行的资源,当mapTask执行完成后或者执行过程中 appMaster向resourceManagerTask询问reduceTask的资源是否已经准备好了 如果准备好就进行reduce任务。11.当整个mapTask和reduceTask都运行完成后,container通知appMaster已经执行完成后,报告给resourceManager已经完成任务。6.appMaster通过心跳包,将任务计算的结果资源需求发送给主节点,进行资源的申请。
2024-09-13 17:58:07
520
原创 数据库基础知识---------------------------(1)
创建库create database if not exists 库名 charset utf8;删除库drop database 库名;查看库show databases 显示所有的库select database() 显示正在使用的库show create database 库名 显示创建该库的语句创建表create table if not exists 表名(字段名 类型 约束,查看表show tables 查看有哪些表。
2024-09-13 15:00:00
1521
原创 LeetCode_sql_day24(1212.查询球队积分)
法一是先判断后连接法二是先连接后判断关键点是 两张表关联条件 和 赋分情况的考虑。
2024-09-13 11:21:29
1266
原创 LeetCode_sql_day23(1412.查询成绩处于中游的学生)
如果直接查成绩为中游的学生 那么可能出现 A同学在科目1 是最高分 在科目2中是中游 查询将不准确 所以使用not in取反。
2024-09-12 21:10:09
978
原创 LeetCode_sql_day22(1112.每位学生的最高成绩)
设置一个排名开窗函数 使用row_number 避免重复 按照分数优先 然后课程其次的优先级排名。
2024-09-10 19:00:45
532
原创 LeetCode_sql_day21(1440.计算布尔表达式的值)
如上所示, 你需要通过使用 Variables 表来找到 Expressions 表中的每一个布尔表达式的值.在 SQL 中,(left_operand, operator, right_operand) 是该表主键.left_operand 和 right_operand 的值保证存在于 Variables 表单中.① 一开始走了一些弯路 将两个值连接后 用concat 连接 判断值 后来发现都是true。operator 是枚举类型, 取值于('', '=')结果格式如下例所示。
2024-09-09 20:59:46
1110
原创 Kettle--发送邮件
打开这个服务 会让你扫码发短信获取 然后将获得的授权码填到kettle邮件服务器设置里面的密码中。如果转换过程最后结果带文件 那么会附带着附件一起发过来。授权码获得 以163邮箱为例。确定发件人和收件人邮箱。
2024-09-04 14:08:11
1137
原创 LeetCode_sql_day20(1398.购买了产品A和产品B却没有购买产品C的顾客)
理解sum(product_name='A')是难点 表示在同组中满足该条件就为1 不满足则为0。
2024-09-01 09:47:25
821
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人