自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

泛泛之素

无他、唯手熟尔

  • 博客(631)
  • 资源 (1)
  • 收藏
  • 关注

原创 python数据可视化:使用dash给博客制作一个dashboard

dashboard仪表板通常提供与特定目标或业务流程相关的关键绩效指标(KPI)的概览。另一方面,“仪表板”具有“进度报告”或“报告”的另一个名称。“仪表板”通常显示在网页上,该网页链接到允许报告不断更新的数据库。例如,制造仪表板可以显示与生产率相关的数字,例如制造的零件数量,或每小时失败的质量检查的数量。同样,人力资源仪表板可能会显示与员工招聘,保留和组成相关的数字,例如,或平均天数或每次...

2019-03-07 09:55:02 20382 22

原创 python数据可视化:使用Dash进行交互式可视化

Dash上一篇介绍的是Bokeh,是一个交互式的可视化工具,Dash同样也是一个优秀的交互式可视化工具,基于plotly,个人感觉Dash比Bokeh更好用,下面是我用Dash写的一个分析报告:链接在这,感兴趣可以看一下,就是加载需要点时间:https://dash-da-hr.herokuapp.com/整体:细节:图一:图二:小例子:代码如下:import pandas...

2019-01-04 15:32:36 26848 20

原创 spark进阶(十):使用MLlib进行协同过滤电影推荐

一、MLlib简介MLlib是一些常用的机器学习算法和库在Spark平台上的实现。MLlib是AMPLab的在研机器学习项目MLBase的底层组件。MLBase是一个机器学习平台,MLI是一个接口层,提供很多结构,MLlib是底层算法实现层。MLlib中包含分类与回归、聚类、协同过滤、数据降维组件以及底层的优化库。MLlib底层使用到了Scala书写的线性代数库Breeze,Breeze底层依赖netlib-java库。netlib-java底层依赖原生的Fortran routines。二、协同过

2021-10-14 15:58:19 1487

原创 spark进阶(九):GraphX使用

GraphX是Spark中的一个分布式图计算框架,是对Spark RDD的扩展。这里所说的图并不是图片,而是一个抽象的关系网。例如,社交应用微信、QQ、微博等用户之间的好友、关注等存在错综复杂的联系,这种联系构成了一张巨大的关系网,我们把这个关系网称为图。GraphX目前适用于微信、微博、社交网络、电子商务等类型的产品,也越来越多地应用于推荐领域的人群划分、年龄预测、标签推理等。Vertices、edges、triplets是Spark GraphX中3个最重要的概念。Vertices对应的RDD名

2021-10-11 19:29:27 1045

原创 spark进阶(八): spark streaming用法[下] Structured Streaming使用

Spark 2.0产生了一个新的流处理框架Structured Streaming(结构化流),它是一个可伸缩的、容错的流处理引擎,构建在Spark SQL引擎之上。使用StructuredStreaming可以在静态数据(Dataset/DataFrame)上像批处理计算一样进行流式计算。随着数据的不断到达,Spark SQL引擎会增量地、连续地对其进行处理,并更新最终结果。简单来讲就是DSteam是基于RDD的DSteam,Structured Streaming是基于Dataset(DataFram

2021-10-10 14:27:10 599

原创 spark进阶(七):spark streaming 用法[上]

Spark Streaming是Spark Core API(Spark RDD)的扩展,支持对实时数据流进行可伸缩、高吞吐量及容错处理。数据可以从Kafka、Flume、Kinesis或TCPSocket等多种来源获取,并且可以使用复杂的算法处理数据,这些算法由map()、reduce()、join()和window()等高级函数表示。Spark Streaming提供了一种高级抽象,称为DStream(Discretized Stream)。 在内部,对输入数据流拆分成的每个批次实际上是一个RDD,一

2021-10-09 19:48:00 286

原创 spark进阶(六):kafka安装

在Spark生态体系中,Kafka占有非常重要的位置。Kafka是一个使用Scala语言编写的基于ZooKeeper的高吞吐量低延迟的分布式发布与订阅消息系统,它可以实时处理大量消息数据以满足各种需求。在实际开发中,Kafka常常作为Spark Streaming的实时数据源,Spark Streaming从Kafka中读取实时消息进行处理,保证了数据的可靠性与实时性。一个典型的Kafka集群中包含若干生产者(数据可以是Web前端产生的页面内容或者服务器日志等)、若干Broker、若干消费者(可以是Had

2021-10-08 19:52:05 231

原创 spark进阶(五):DataFrame和DataSet使用

DataFrame是Spark SQL提供的一个编程抽象,与RDD类似,也是一个分布式的数据集合。但与RDD不同的是,DataFrame的数据都被组织到有名字的列中,就像关系型数据库中的表一样。此外,多种数据都可以转化为DataFrame,例如Spark计算过程中生成的RDD、结构化数据文件、Hive中的表、外部数据库等。在Spark中,一个DataFrame所代表的是一个元素类型为Row的Dataset,即DataFrame只是Dataset[Row]的一个类型别名。相对于RDD,Dataset提供了强

2021-10-07 14:03:55 1250

原创 spark进阶(四):RDD使用

Spark提供了一种对数据的核心抽象,称为弹性分布式数据集(ResilientDistributed Dataset,RDD)。这个数据集的全部或部分可以缓存在内存中,并且可以在多次计算时重用。RDD其实就是一个分布在多个节点上的数据集合。RDD的主要特征如下:RDD是不可变的,但可以将RDD转换成新的RDD进行操作。RDD是可分区的。RDD由很多分区组成,每个分区对应一个Task任务来执行(关于分区将在3.4节详细讲解)。对RDD进行操作,相当于对RDD的每个分区进行操作。RDD拥有一系列对分

2021-10-06 14:35:33 969

原创 spark进阶(三):scala基础

spark进阶(三):scala基础Spark本身就是使用Scala语言开发的,spark和flink的底层通讯都是基于的高并发架构akka开发,然而akka是用scala开发的,Scala与Spark可以实现无缝结合,因此,Scala顺理成章地成为了开发Spark应用的首选语言,大多数spark教程都是基于scala编写,学习一下scala也是很必要的。这里只对scala在spark中使用的部分进行记录,不涉及一些复杂的scala使用,只保证能正常使用spark即可。对于scale的话,学过kotl

2021-10-05 14:21:51 1249

原创 spark进阶(二):Idea创建spark项目

环境:scala:2.12.0java:1.8spark:3.1.2一、Idea创建scala项目Idea新建一个新的项目,选择通过maven创建:给项目起个名字,设置版本:maven选项,如果有本地maven的话用本地的,没有的话建议下一个,不行用这个默认的也可以:设置maven源为aliyun,上面的setting目录创建对应的setting.xml文件:(base) [~/softwares]$ cat /home/ffzs/.m2/settings.xml <sett

2021-10-04 20:17:50 1148

原创 Spark进阶(一): 测试环境搭建

运行环境:操作系统:ubuntu 16JDK:1.8.0_261-b12hadoop: 3.2.2spark: 3.1.2一、hadoop单机模式下载安装安装包官网下载即可:https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz然后解压缩到指定目录,我的目录为:/home/ffzs/softwares/hadoop-3.2.2设置免密码登录创建密钥,

2021-10-03 12:48:31 351

原创 SQL:1193. 每月交易 1-2

数据Table: Transactions+---------------+---------+| Column Name | Type |+---------------+---------+| id | int || country | varchar || state | enum || amount | int || trans_date | date |+-------

2021-04-01 11:54:19 286

原创 SQL:1173. 即时食物配送 1-2

数据配送表: Delivery+-----------------------------+---------+| Column Name | Type |+-----------------------------+---------+| delivery_id | int || customer_id | int || order_date

2021-04-01 10:50:27 228

原创 SQL:597. 好友申请 1-2

数据在 Facebook 或者 Twitter 这样的社交应用中,人们经常会发好友申请也会收到其他人的好友申请。表:FriendRequest+----------------+---------+| Column Name | Type |+----------------+---------+| sender_id | int || send_to_id | int || request_date | date |+------

2021-03-31 21:35:54 287

原创 SQL:1082. 销售分析 1-3

数据产品表:Product+--------------+---------+| Column Name | Type |+--------------+---------+| product_id | int || product_name | varchar || unit_price | int |+--------------+---------+product_id 是这个表的主键.销售表:Sales+-------------+-----

2021-03-31 19:14:16 303

原创 SQL:1075. 项目员工 1-3

数据项目表 Project: +-------------+---------+| Column Name | Type |+-------------+---------+| project_id | int || employee_id | int |+-------------+---------+主键为 (project_id, employee_id)。employee_id 是员工表 Employee 表的外键。员工表 Employee:+---

2021-03-31 18:06:53 265

原创 SQL:1068. 产品销售分析 1-3

数据销售表 Sales:+-------------+-------+| Column Name | Type |+-------------+-------+| sale_id | int || product_id | int || year | int || quantity | int || price | int |+-------------+-------+(sale_id, year) 是销售表 Sale

2021-03-31 16:56:56 330

原创 SQL:1555. 银行账户概要 1-2

数据用户表: Users+--------------+---------+| Column Name | Type |+--------------+---------+| user_id | int || user_name | varchar || credit | int |+--------------+---------+user_id 是这个表的主键。表中的每一列包含每一个用户当前的额度信息。交易表:Transact

2021-03-31 15:54:48 498

原创 SQL: 1148. 文章浏览 1-2

数据Views 表:+---------------+---------+| Column Name | Type |+---------------+---------+| article_id | int || author_id | int || viewer_id | int || view_date | date |+---------------+---------+此表无主键,因此可能会存在重复行。

2021-03-31 14:10:07 192

原创 SQL: 571. 给定数字的频率查询中位数

数据Numbers 表保存数字的值及其频率。+----------+-------------+| Number | Frequency |+----------+-------------|| 0 | 7 || 1 | 1 || 2 | 3 || 3 | 1 |+----------+-------------+Create table If

2021-03-30 21:45:25 243

原创 SQL:1158. 市场分析 1-2

数据Table: Users+----------------+---------+| Column Name | Type |+----------------+---------+| user_id | int || join_date | date || favorite_brand | varchar |+----------------+---------+此表主键是 user_id,表中描述了购物网站的用户信息,用户可以在此网

2021-03-30 20:22:06 185

原创 SQL: 570. 至少有5名直接下属的经理

数据drop table if exists Employee;Create table If Not Exists Employee (Id int, Name varchar(255), Department varchar(255), ManagerId int);Truncate table Employee;insert into Employee (Id, Name, Department, ManagerId) values ('101', 'John', 'A', null);in

2021-03-30 19:07:32 271

原创 SQL:569. 员工薪水中位数

数据Create table If Not Exists Employee (Id int, Company varchar(255), Salary int)Truncate table Employeeinsert into Employee (Id, Company, Salary) values ('1', 'A', '2341')insert into Employee (Id, Company, Salary) values ('2', 'A', '341')insert into E

2021-03-30 18:09:37 394

原创 SQL:511. 游戏玩法分析 1-5

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/game-play-analysis-iv著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。测试数据活动表 Activity:±-------------±--------+| Column Name | Type |±-------------±--------+| player_id | int || device_id | int

2021-03-30 17:18:25 206

原创 小程序:taro + canvas 绘制弹球倒计时组件

0. 效果图1. taroTaro 是京东开发的一个开放式跨端跨框架解决方案。为啥用taro,因为没用过vue,用react写的话也就能用taro,说实话还挺好用的,只搞小程序的话也是不错的选择。2.框架 安装2.1 首先全局安装taro,可以使用npm, yarn 或是 cnpm:# 使用 npm 安装 CLI$ npm install -g @tarojs/cli# OR 使用 yarn 安装 CLI$ yarn global add @tarojs/cli# OR 安装了 cnpm

2021-02-25 11:19:09 932

原创 Leetcode: NO.135 分发糖果

题目老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2 颗糖果。示例 2:输入: [1,2,2]输出: 4解释: 你可以分别给这三个孩子分发 1、2、1 颗糖果。 第三

2020-12-24 20:01:42 179 2

原创 Leetcode: NO.387 字符串中的第一个唯一字符

题目给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例:s = "leetcode"返回 0s = "loveleetcode"返回 2提示:你可以假定该字符串只包含小写字母。链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string解题记录先统计个数然后返回第一个只有一个的索引/** * @author: ffzs * @Date: 2020/

2020-12-23 08:37:14 172

原创 Leetcode: NO.103 二叉树的锯齿形层序遍历 层序遍历

题目给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层序遍历如下:[ [3], [20,9], [15,7]]链接:https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-trav

2020-12-22 20:19:53 146

原创 Leetcode: NO.746 使用最小花费爬楼梯 动态规划

题目数组的每个索引作为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1:输入: cost = [10, 15, 20]输出: 15解释: 最低花费是从cost[1]开始,然后走两步即可到阶梯顶,一共花费15。 示例 2:输入: cost = [1, 100, 1, 1, 1, 1

2020-12-21 09:02:07 161

原创 Leetcode: NO.316 去除重复字母

题目给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例 1:输入:s = "bcabc"输出:"abc"示例 2:输入:s = "cbacdcbc"输出:"acdb"提示:1 <= s.length <= 104s 由小写英文字母组成链接:https://leetcode-cn.com/problems/remove-duplicate-letters解题记录优先统计

2020-12-20 12:21:40 180 2

原创 Leetcode: NO.48 旋转图像

题目给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示例 2:给定 matrix =[ [ 5, 1, 9,11], [ 2, 4, 8,10],

2020-12-19 08:49:44 143 1

原创 Leetcode: NO.389 找不同 异或

题目给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例 1:输入:s = "abcd", t = "abcde"输出:"e"解释:'e' 是那个被添加的字母。示例 2:输入:s = "", t = "y"输出:"y"示例 3:输入:s = "a", t = "aa"输出:"a"示例 4:输入:s = "ae", t = "aea"输出:"a"提示:0 <= s

2020-12-18 08:16:07 148

原创 Leetcode: NO.714 买卖股票的最佳时机含手续费 动态规划

题目给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。示例 1:输入: prices = [1, 3, 2, 8, 4, 9], fee = 2输出: 8解释: 能够达到的最大利润: 在此处

2020-12-17 08:55:01 133

原创 Leetcode: NO.290 单词规律

题目给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true 示例 2:输入:pattern = "abba", str = "dog cat cat fish"输出: false 示例 3:输入: pa

2020-12-16 08:14:41 135

原创 Leetcode: NO.738 单调递增的数字

题目给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)示例 1:输入: N = 10输出: 9示例 2:输入: N = 1234输出: 1234示例 3:输入: N = 332输出: 299说明: N 是在 [0, 10^9] 范围内的一个整数。链接:https://leetcode-cn.com/problems/

2020-12-15 09:11:53 169

原创 Leetcode: NO.49 字母异位词分组

题目给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。链接:https://leetcode-cn.com/problems/group-anagrams解题记录将字符中的字符重新排序作

2020-12-14 10:55:12 136

原创 Leetcode: NO.217 存在重复元素

题目给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true链接:https://leetcode-cn.com/problems/contains-duplicate解题记录直接快排,然后看前后是否相

2020-12-13 10:28:14 149

转载 Leetcode: NO.376 摆动序列 贪心算法

题目如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。给定一个整数序列,返回作为摆动序列的最长子序列的长度。 通过从原始序列中删除一些(也可以不删除)

2020-12-12 10:57:46 209

原创 Leetcode: NO.649 Dota2 参议院 贪心算法

题目Dota2 的世界里有两个阵营:Radiant(天辉)和 Dire(夜魇)Dota2 参议院由来自两派的参议员组成。现在参议院希望对一个 Dota2 游戏里的改变作出决定。他们以一个基于轮为过程的投票进行。在每一轮中,每一位参议员都可以行使两项权利中的一项:禁止一名参议员的权利:参议员可以让另一位参议员在这一轮和随后的几轮中丧失所有的权利。宣布胜利:如果参议员发现有权利投票的参议员都是同一个阵营的,他可以宣布胜利并决定在游戏中的有关变化。给定一个字符串代表每个参议员的阵营。字母 “R” 和

2020-12-11 09:17:15 226

工作明细 job_to_map

dash作图主体分为两大部分: 一部分是数据部分data,二部分是呈现部分layout。 由于是在网页上呈现,所以layout部分的编写,是基于html语言的的一些标签。 看一下代码:

2018-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除