- 博客(25)
- 收藏
- 关注
原创 SparkSQL介绍及使用
官网:https://spark.apache.org/sql/Spark SQL是 Apache Spark 用于处理结构化数据(DataFrame和Datasets)的模块。在Spark1.0版本时引入了SparkSQL。
2024-10-21 19:27:34
1017
原创 RDD高级用法
rdd中封装了各种算子方便进行计算,主要分为两类转化算子 对rdd数据进行转化计算得到新的rdd,定义了一个线程任务action执行算子触发计算任务,让计算任务进行执行,得到结果触发线程执行的rdd的转化算子大部分都是从rdd中读取元素数据(rdd中每条数据),具体计算需要开发人员编写函数传递到rdd算子中rdd的执行算子则大部分是用来获取数据 collect方法就是触发算子。
2024-10-20 20:38:09
988
原创 Hadoop三大组件的工作原理
HDFS是Hadoop的核心存储组件,它被设计用于在大规模集群上存储和管理海量数据,具有高容错性、高可靠性和高可扩展性等特点。MapReduce是一种用于大规模数据集并行处理的编程模型和计算框架。它将复杂的数据分析任务分解为两个阶段:Map阶段和Reduce阶段,通过分布式计算的方式在集群上高效处理数据。
2024-10-11 21:08:21
2148
原创 RFM用户分群
会员价值度用来评估用户的价值情况,是区分会员价值的重要模型和参考依据,也是衡量不同营销效果的关键指标之一。价值度模型一般基于交易行为产生,衡量的是有实体转化价值的行为。常用的价值度模型是RFMRFM模型是根据会员最近一次购买时间R(Recency)购买频率F(Frequency)购买金额M(Monetary)计算得出RFM得分通过这3个维度来评估客户的订单活跃价值,常用来做客户分群或价值区分RFM模型基于一个固定时间点来做模型分析,不同时间计算的的RFM结果可能不一样RFM。
2024-10-09 10:27:17
1366
原创 Pandas和Seaborn数据可视化
请对下面的内容有印象、能找到、能理解、能看懂Matplotlib:各种图形的API折线图 df.plot.line()柱状图 df.plot.bar()水平条形图 df.plot.barh()饼图 df.plot.pie()散点图 df.plot.scatter()气泡图 df.plot.scatter()在散点图的基础上,除了xy参数以外再增加一个s参数,可以展示三维数据面积图 df.plot.area()箱线图 df.boxplot()
2024-10-07 20:57:43
1831
原创 Matplotlib绘图
数据可视化是指直观展现数据,它是数据处理过程的一部分。把数值绘制出来更方便比较。借助数据可视化,能更直观地理解数据,这是直接查看数据表做不到的数据可视化有助于揭示数据中隐藏的模式,数据分析时可以利用这些模式选择模型。
2024-10-05 23:54:13
1044
原创 Pandas缺失值处理
好多数据集都含缺失数据。缺失数据有多种表现形式数据库中,缺失数据表示为NULL在某些编程语言中用NA或None表示缺失值也可能是空字符串''或数值0在Pandas中使用NaN表示缺失值Pandas中的NaN值来自NumPy库,NumPy中缺失值有几种表示形式:NaN,NAN,nan,他们都一样缺失值和其它类型的数据不同,它毫无意义,NaN不等于0,也不等于空字符串# 输出结果如下FalseFalseFalseFalseFalse两个NaN也不相等# 输出结果如下False。
2024-09-29 14:16:19
1421
原创 Pandas常用计算函数
请对下列API有印象、能找到、能理解、能看懂排序nlargest函数 由大到小排序获取指定数量的数据nsmallest函数 由小到大排序获取指定数量的数据sort_values函数 按值排序聚合函数corr函数 相关性计算min函数 计算最小值max函数 计算最大值mean函数 计算平均值std函数 计算标准偏差quantile函数 计算分位数sum函数 计算所有数值的和count函数 计算非空数据的个数。
2024-09-27 19:58:21
990
原创 DataFrame索引与列名操作
请对下列API有印象、能找到、能理解、能看懂查看或修改索引查看或修改列名读取数据时指定某列为索引pd.read_csv('csv_path', index_col=[列名])设置某列为df的索引df.set_index(列名)重置df的索引为默认自增索引指定修改部分索引值或列名df.rename(index={'原索引名1': '新索引名1','原索引名2': '新索引名2',...},columns={'原列名a': '新列名a','原列名b': '新列名b',...
2024-09-26 21:53:11
1259
原创 DataFrame查询数据操作
请对下列API有印象、能找到、能理解、能看懂API清单子集操作方法方法说明df.head(n)获取前n行数据,默认5行df.tail(n)获取最后n行数据,默认5行df[列名] 或 df.列名获取一列数据df[[列名1,列名2,...]]获取多列数据df[[布尔值向量]]df[[True, False, …]]取出对应为True的数据行df[起始行下标:结束行下标:步长]行下标(索引下标)切片获取数据行df.loc[行索引值]索引值(行名)获取1行数据。
2024-09-26 08:35:59
1187
原创 Pandas读取保存数据
写文件方法读取文件,常用参数如下index_col指定索引列列下标指定为索引列名指定为索引对指定列解析为时间日期类型将指定的列解析为时间日期类型通过列下标解析该列为时间日期类型通过列名解析该列为时间日期类型将df的索引解析为时间日期类型指定字符分隔符为\t读取tsv文件Pandas和MySQL进行交互(读写)# 需要安装 pip istall pymysql# 需要安装 pip istall sqlalchemy# 导入sqlalchemy的数据库引擎。
2024-09-24 12:25:44
1333
原创 Pandas数据结构
Pandas中的API太多,千万不要尝试去记忆,你记不住的,要求有印象、能找到、能看懂理解类知识点dataframe和series对象是什么:可以认为df是有行有列有索引的二维数据表df和s是Pandas中最核心的数据结构df中每一列或者每一行都是s对象s对象也有索引每一个s对象都有各自的数据类型,表示构成这个s对象中的值的type;常用的数据类型有Object – 字符串int – 整数float – 小数series和dataframe的API。
2024-09-22 10:53:36
1468
原创 力扣每日刷题
在 2020 年 11 月(,)有 2 份来自 2 位不同顾客的订单(,)但由于金额都小于 $20 (,)所以我们的查询结果中不包含这个月的数据(。Bob (customer 2) 一次订购键盘, 一次订购鼠标, 一次订购显示器, 所以这些都是 Bob 最经常订购的商品.在 2020 年 10 月(,)有 2 份来自 1 位顾客的订单(,)并且只有其中的 1 份订单金额大于 $20 (。在 2020 年 12 月(,)有 2 份来自 1 位顾客的订单(,)且 2 份订单金额都大于 $20(。
2024-09-18 20:16:04
773
原创 leetcode刷题
Moustafa 在 “2020-08-01” 支付了 $400 并在 “2020-08-03” 收到了 $200 ,当前额度 (100 -400 +200) = -$100。Jonathan 在 “2020-08-02” 收到了 $500 并在 “2020-08-08” 支付了 $200 ,当前额度 (200 +500 -200) = $500。前缀 名称是一个字符串,可以包含字母(大写或小写),数字,下划线 ‘_’ ,点 ‘.’ 和/或破折号 ‘-’。编写一个解决方案,以查找具有有效电子邮件的用户。
2024-09-13 17:19:45
1620
原创 leetcode刷题
因此你决定统计访问时长区间分别为 “[0-5>”,“[5-10>”,“[10-15>” 和 “15 minutes or more” 的会话数量,并以此绘制柱状图。在 2020-05-04, 卖了 15 个苹果 和 16 个桔子 (差异为 15 - 16 = -1).在 2020-05-02, 卖了 15 个苹果 和 15 个桔子 (差异为 15 - 15 = 0).在 2020-05-03, 卖了 20 个苹果 和 0 个桔子 (差异为 20 - 0 = 20).
2024-09-12 14:33:37
1352
原创 LeetCode刷题
最后,它在第6天以1000美元的价格被买走,在第10天以10000美元的价格被卖掉。LC T-shirt 在 2018-12-01 至 2020-01-01 期间销售,该产品在2018年、2019年、2020年的销售时间分别是31天、365天、1天,2018年、2019年、2020年的销售总额分别是31。LC Keychain 在 2019-12-01 至 2020-01-31 期间销售,该产品在2019年、2020年的销售时间分别是:31天、31天,2019年、2020年的销售总额分别是31。
2024-09-11 14:32:16
1665
原创 力扣每日SQL刷题(607,608,612,613,614)
p1(x1, y1) 和 p2(x2, y2) 这两点之间的距离是 sqrt((x2 - x1)2 + (y2 - y1)2)。– 编写解决方案,找出没有任何与名为 “RED” 的公司相关的订单的所有销售人员的姓名。– 编写解决方案,报告 Point2D 表中任意两点之间的最短距离。由此就想到了笛卡尔积,用子链接的办法得到每两个点,然后计算.id就是tree的每个结点,pid则表示该节点的父节点;2.根据上步找到的编号,关联查询与之相关的订单;若id没有与之对应的pid,则该节点为叶子节点;
2024-07-28 19:57:48
425
原创 力扣每日刷题SQL(585,597,601,602,603)
3.把上面两个表用union all拼接起来,按照requester_id分组,找出发送请求和接收数量最多的,即为好友最多的人.1.他在 2015 年的投保额 (tiv_2015) 至少跟一个其他投保人在 2015 年的投保额相同。– 编写解决方案找出每行的人数大于或等于 100 且 id 连续的三行或更多行记录。这道题的实现方法与601思想一致,可以借鉴一下601的分析.统计通过的请求数除以总的请求数即可。– 编写解决方案,找出拥有最多的好友的人和他拥有的好友数目。通过的请求数和总的请求数都要去重。
2024-07-27 20:14:54
1543
原创 力扣每日SQL刷题(574,577,578,579,580)
而又不能使用COUNT(*)或COUNT(1),因为这样会把没有任何学生的部门下的学生数统计为1。对于该员工工作的每个月,将 该月 和 前两个月 的工资 加 起来。如果员工在前几个月没有为公司工作,那么他们在前几个月的有效工资为 0。– 编写解决方案,为 Department 表中的所有部门(甚至是没有当前学生的部门)报告各自的部门名称和每个部门的学生人数。编写一个解决方案,在一个统一的表中计算出每个员工的 累计工资汇总。不要 包括雇员 没有工作 的任何一个月的 3 个月总工资和。
2024-07-26 20:39:35
1541
原创 大厂面试SQL连续类型问题
两支篮球队进行了激烈的比赛,比分交替上升。比赛结束后,你有一个两队分数的明细表(名称为“分数表”)。前一行:lag( ) over ();后一行:lead( ) over ();2.从第一步的临时表中,查找出球员姓名都相同的行,然后去重即为要查找的名单.2.和拼多多的那题有一点不一样的就是这里日期列可以作为大维度的排序。问题:请你写一个SQL语句,统计出连续3次为球队得分的球员名单。问题 : 查询2023年每个⽉,连续2天都有登陆的⽤⼾名单.选手的 连胜数 是指连续获胜的次数,且没有被平局或输球中断。
2024-07-25 20:14:53
596
原创 力扣每日SQL刷题(题目 : 534, 569, 570, 1280)
3.然后用第一步的表左连接第二步的表(左连接让没有参加考试的学生也可以展示出来),然后加上判断条件,当参与考试次数为null时,返回0,否则返回考试次数即可。按照managerID分组,然后统计每个组的人数,找到人数大于等于5的managerID,然后使用子查询找出那么name.1.使用sum窗口函数,对id进行分组,根据日期排序即可,sum() over()可以实现按照行累加。2.若部门人数为偶数,比如为6,则排名为3,4的为中位数;若部门人数为奇数,比如5,则中位数排名为3;
2024-07-24 22:57:59
506
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人