自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 hive:通过join连接实现排列组合

有一些订单信息,记录了用户是否购买过某个产品。想统计一下同时购买过任意两个产品的用户,类似于组合;还有购买过两个产品并且分购买先后顺序的用户,比如先购买了A再购买B、先购买了B再购买A,分两种统计,类似于排列。在hive中可以采用join实现排列组合。...

2022-07-31 18:29:58 751 1

原创 hive:left join存在关联字段不等

问题在hive中用left join关联两个表,结果中存在关联字段不等的情况,如下图关联结果中的第2、3行。 原因排查经排查发现,a.other_apply_id与b.data_id的数据类型不同,a.other_apply_id字段类型为string,b.data_id字段类型为bigint,可能是字段数据类型不同导致的。解决方法将两个字段a.other_apply_id与b.data_id数据类型都强转成string型。ps:初衷是通过撰写博文记录自己所学所用,实现知识的梳理与积累;将.

2022-05-29 17:58:31 871

原创 hive:数据入库后显示为null值

近日遇到现查SQL是有值的,但是写入到库表中显示为null值,经排查发现因为数据超出了建表时设置的字段长度导致的。问题将SQL统计的聚合结果写入到库表中发现有null值,但是直接跑SQL逻辑是有值的。--建表CREATE TABLE IF NOT EXISTS testdb.scenes_audit_amount_20220512 ( create_month string comment '月份', pid string comment '编号', audit_amou

2022-05-22 17:56:40 2422

原创 Tableau图例:利用单独图例实现条件格式

用Excel处理数据时,经常会用到条件格式提高数据的可读性,比如图中用条件格式–色阶分别为“数量”“销售额”两列设置了不同的格式,以达到突出重点的效果。在Tableau中同样可以实现类似效果,以自带的“示例–超市”数据为数据源,一起来看一下如何利用单独图例为不同的字段设置不同的格式。构建工作表。将“地区”“省/自治区”拖到行功能区,“度量名称”拖到列功能区;拖两个“度量值”到标记区,分别设置为文本、颜色;将“度量名称”“订单日期”拖入到筛选器,其中“度量名称”中选择数量、销售额、利润、利润率四个字段

2022-05-22 17:04:59 2032

原创 Tableau函数:实现数值累计值

工作中经常需要看截至到当前时间完成情况,比如以自带的“示例–超市”中的销售额为例,各年度的总销售额为多少?各季度完成销售额多少?累计到二季度完成销售额多少?以自带的“示例–超市”数据为数据源,一起来看一下如何利用tableau中的RUNNING_SUM、WINDOW_SUM、SUM函数,实现数值的累计值及其百分比。创建计算字段“年度总销售额”“累计销售额”“当季销售额/年度总销售额”“累计销售额/年度总销售额”。将“订单日期”拖到列功能区,选择自定义–季度–日期部分;“订单日期”、“年度

2022-05-01 15:10:57 5222

原创 hive:常见日期函数

1. to_date:日期时间转日期-- 注:日期字符串必须满足yyyy-MM-dd格式命令:select to_date('2022-04-29 08:52:14.0');输出:2022-04-292. current_date :当前日期命令:select current_date();输出:2022-04-303. date_sub : 返回日期前n天的日期-- 注:日期字符串必须满足yyyy-MM-dd格式命令:select date_sub('2022-04-29 08:52

2022-04-30 11:09:14 9658

原创 Tableau筛选器:基于合并字段实现多字段筛选

在Tableau报表中,希望基于多个字段实现筛选,比如以下工作表中想筛选出每天利润<0的子类别所在行(共10行)。如果在“子类别”上添加筛选,仅筛选出了1行,因为在子类别上添加筛选器其实仅筛选出了基于子类别字段进行聚合后利润<0,这并非期望结果。下面基于“示例-超市”数据集展开介绍,运用合并字段实现多字段同时筛选以达到预期筛选效果。Step1:建立工作表【合并字段】。Step2:创建合并字段。同时选中“发货日期”“类别”“子类别”,然后创建合并字段“发货日期,子类别,类别(已合并)”,

2022-03-27 10:36:03 2555 1

原创 Tableau工具提示:显示图表

Tableau工具提示增加图表的交互性。

2022-03-27 09:33:17 1362

原创 Tableau筛选器:仪表板中运用地图做筛选器

在Tableau仪表板中,希望实现报表的联动,比如报表A以地图的形式展示各省/自治区的利润率情况,报表B显示某个地区各类别产品的利润情况,希望点击A报表中的北京,B报表就显示北京各类别产品的利润情况。将报表A设置为筛选器即可,下面基于“示例-超市”数据集展开介绍。第一步:构建报表以地图形式展示各省/自治区的利润情况将“国家/地区”、“省/自治区”、“利润率”拖到标记区,其中“国家/地区”、“省/自治区”设置成详细信息,“利润率”设置成颜色,选择智能推荐图表中的地区,经度、维度会自动填充到列、行功能区。

2022-02-26 17:45:19 3375 6

原创 Tableau筛选器:实现各筛选器的联动

在Tableau报表中,经常会设置多个筛选器,方便我们灵活设置进行数据筛选。基于“示例-超市”数据集展开。将“地区”、“省/自治区”拖到行功能区,“度量名称”拖到列功能区,“度量值”拖到标记区并设置成文本。“地区”、“省/自治区”、“度量名称”拖到筛选区,其中“度量名称”选择利润、销售额,“地区”、“省/自治区”设置成显示筛选器。第一种:设置为"仅相关值"点击“省/自治区”筛选器的下三角,可以看到默认为数据库中的所有值,所以无论“地区”筛选器选择什么,如分别选择东北/东北、华北、华东,“省/自治区”

2022-02-26 15:27:57 7590 1

原创 Tableau自定义格式:设置万、亿等单位

Tableau中单位仅有千、百万、十亿等单位,并没有万、亿等单位;还有类似于Excel条件格式中的方向图标,表示数据的上升或下降…都可以通过自定义格式设置。显示亿元: 设置自定义格式为"¥"#"."##, 亿元;-“¥”#"."##, 亿元。其中一个",“代表3位,”#“为占位符,”."为添加的固定字符串。显示万元: 设置自定义格式为#"."#, 万。显示上下箭头: 设置自定义格式为#.#%↑;-# *.# %↓(大于0的用↑表示,小于0的用 ↓表示)。ps:初衷是通过撰写博文记录自己所学

2022-01-22 21:59:15 8521 1

原创 hive:explode和lateral view函数实现行转列

需求:假设某超市的订单表order如下,现想统计用户经常购买的Top100商品。思路:为了便于统计Top100商品,需要从订单表order的info字段提取商品字段goods,并行转列。下面利用hive中的explode和lateral view函数得到以下表结构。第一步:利用explode函数将info字段进行拆分及行转列。regexp_replace(string A, string B, string C):正则表达式替换,将字符串A中的符合正则表达式B的部分替换为C;split(str

2022-01-08 20:49:04 1807 1

原创 Tableau参数:展示TOPN及其占比、增长率

在工作中,我们更加关注TOPN,并且可能会从横纵向维度来对比分析,观察其在整体中的位置,以及其增长情况。以自带的“示例–超市”数据为数据源,一起来看一下如何利用tableau参数、计算字段,在同一视图中展示TOPN及其占比、增长率。

2021-10-31 18:48:46 3708

原创 Tableau参数:同一视图实现指标和图表联动

工作中经常会遇到想用折线图或柱状图等可视化方式直观展示有N个指标的趋势,一方面指标太多,另一方面各指标的量纲不同,如果放在一张图中有点乱,且展示不清晰,如图中的数量和销售额两个指标因量纲差别太大,导致数量基本看不出来对比效果。于是想切换指标,然后图表只展示当前选择指标的趋势图。下面依次介绍通过度量名称筛选、参数、参数动作3种方式实现指标与图表联动。

2021-09-30 16:41:58 3634

原创 Tableau图表:饼图和环形图

饼图和环形图是我们工作中经常用到的数据可视化方式,非常直观的展示各类别的分布及占比情况。但是对于类别较多时,饼图或环形图不如条形图等展示效果好,对于类别较多时该如何仅显示TOPN以突出重点,弥补饼图的短板发挥其优势。以自带的“示例--超市”数据为数据源,一起来看一下如何在Tableau中生成饼图或环形图,并通过集、计算字段、参数生成TOPN饼图或环形图。

2021-09-12 18:59:15 2678

原创 Tableau参数:自定义周起始时间

平时我们可能会经常看周数据,Tableau默认周日为一周的第一天,但是有时我们根据业务需求,可能以周五为一周的第一天,可以通过Tableau日期属性和参数实现对周起始的自定义设置。

2021-09-02 09:51:45 4290 2

原创 Tableau参数:使用参数创建开始日期和结束日期筛选器

Tableau默认的日期筛选样式有相对日期、日期范围、开始日期、结束日期等,可以根据自己的需要选择合适的方式。虽然Tableau默认日期筛选有多种形式可以选择,但是使用仍旧不够灵活,比如对于已发布的报表,偶尔仅想看上月每天的数据情况,相对日期形式无法实现,日期范围形式虽然可以满足,但是当数据本身的时间范围比较长的时候(比如5年),通过拖动无法精准的选择到自己想选择的日期。此时,可以使用参数创建开始日期和结束日期筛选器,自定义输入起始和结束日期进行筛选。

2021-08-15 17:13:12 6411

原创 熵值法原理、应用及其Python实现

熵值法是一种依据各指标值所包含的信息量的多少确定指标权重的客观赋权法,某个指标的熵越小,说明该指标值的变异程度越大,提供的信息量也就越多,在综合评价中起的作用越大,则该指标的权重也应越大。熵值法可单独进行综合评价;也可以与其他方法相结合,如层次分析法,用熵值法确定各指标的权重,然后运用层次分析法得到各个评价对象的综合得分。

2021-05-22 18:26:03 24520 13

原创 数据清洗:Python删除一条记录内的换行符

近日在处理数据的时候遇到一条记录内存在换行符"\n",记录结尾处以“\r\n”换行,如果不注意有可能读取过来按两条记录处理了。这种情况下,如何保证数据原样读取,另外为了避免因记录内存在换行符"\n"干扰数据应用,考虑将其删除。

2021-04-17 11:42:09 1049 1

原创 数据清洗:pandas缺失值处理

缺失数据在大部分数据分析应用中都很常见,数据的缺失主要包括记录的缺失和记录中某个字段信息的缺失,两者都会造成分析结果的不准确。缺失值产生的原因有很多中,要根据缺失值产生的原因选择适当的处理方式,缺失值的处理方式主要有删除、填充、不处理。Python中的pandas库提供了对缺失数据的处理,pandas使用浮点值NaN(Not a Number)表示浮点和非浮点数组中的缺失数据,便于监测。

2021-04-13 09:18:02 534

原创 数据清洗:Python将一列数据拆分成多列

最近在处理数据的时候遇到这样一个问题,原始数据中有些字段以(key:value)形式存储的数据,如表中Sex一列取值[F: Female],其中F是key、Female是具体的value。为了简化数据,利用pandas.Series.str.split(pat=None, n=-1, expand=False)进行数据拆分,只取其中的value。

2021-04-02 15:17:31 13531 3

原创 Python将Excel转成Json格式

Json是一种轻量级的数据交换格式,简洁和清晰的层次结构使其成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。然而我们很多数据经常是用Excel处理或保存的,为了更好的让研发人员使用,需要将数据转成Json格式。Python中提供了json模块,可用json.dumps()和json.loads()函数分别编码和解码Json对象。

2021-02-10 14:22:10 7878 1

原创 分布滞后模型

在涉及时间序列数据的回归分析中,一般由于经济变量自身、决策者心理、技术、制度等原因,解释变量需要经过一段时间才能完全作用于因变量,同时由于经济活动的连续性,因变量的当前变化也往往受到自身过去取值水平的影响,即模型中不仅包含解释变量的当前值,还包含它们的滞后值(过去值),这样的模型称为分布滞后模型(distribution-lag model),不能直接使用最小二乘法(OLS)估计,会遇到多重共线性、损失自由度、滞后长度难以确定等问题,对于有限分布滞后模型,常用的修正估计方法有经验加权法、阿尔蒙多项式法等。

2021-01-31 21:15:26 19923 8

原创 Python实现基于3σ原则的异常值检测

异常值是指样本中的个别值明显偏离其余的观测值。异常值的存在会对数据分析、建模产生干扰,因此需要对数据集进行异常值检测并进行异常值删除或修正,以便后续更好地进行数据分析和挖掘。对于异常值检测,有描述性统计、3σ原则方法、箱线图、基于聚类的方法等,而3σ原则是最常使用的异常值检测方法之一。在3σ原则下,一般认为数据的取值99.7%的概率集中在(μ-3σ,μ+3σ)区间内(μ为平均值,σ为标准差),超出这个范围的可能性仅占0.3%,属于极个别的小概率事件,因此将超出(μ-3σ,μ+3σ)范围的值认为是异常值。

2021-01-24 15:49:41 16293 11

原创 运用Python+ElementTree解析XML

近日遇到一些XML数据,想把其解析出来,便于后期归纳汇总数据。搜集资料,发现运用Python的ElementTree可以解析XML数据。ElementTree提供了parse()、from_string()、ElementTree类ElementTree()等方式解析xml。然后可以直接循环遍历,也可以采用find(match)、findall(match) 、 iter(tag=None)等方法来匹配遍历。

2021-01-17 14:41:06 667

原创 Excel快速核对两张表格

在工作中,经常会遇到核对两张表格看是否完全一致,如图中的表1和表2。利用Excel的高级筛选、条件格式、VLOOKUP函数,快速实现两个表格的核对,简单、高效、准确。

2021-01-02 21:18:19 6223 1

原创 Excel快速将多个单元格合并到一个单元格

在工作或生活中,对于小批量的数据我们习惯用Excel来处理,经常可能会面临这样的问题——如何把多个单元格数据合并到一个单元格。实现这一效果的方式有很多种,比如CONCATENATE函数、连接符&、PHONETIC函数等等,但是每种方法的具体应用场景可能稍有差异。

2021-01-02 16:26:04 21570

原创 利用Python读取MongoDB的数据

近日在处理数据的时候遇到一个问题,数据存储在MongoDB数据库,而MongoDB模式自由、具有很大的灵活性,可以把不同结构的文档存储在同一个数据库里,即表的字段不是完全固定的,当某个字段有值时就会显示该字段,而当该字段没有值时就不显示该字段。因此,同一个数据库表根据不同的条件查询得到的字段数可能会不一样,字段个数不同。现在想得到每个SourceCode下的数据包含哪些字段,而SourceCode取值有70多个,如果手动统计有点耗时,于是想到利用Python读取MongoDB数据来解决这一问题。

2020-12-16 08:23:05 11503 1

原创 利用Python批量读取文件

近日,从欧盟统计局下载了一些数据,下载的数据表中的指标、地区等都是用的编码,而编码具体代表的含义则需要参照对应的字典文件。然而字典文件有500多个,为了查看全部字典文件的信息,于是想用Python把这些字典文件合并成一个文件。基本思路是利用os.listdir读取文件夹下的文件列表,然后依次读取并追加每个文件的内容,最终保存成csv文件。

2020-12-12 22:02:25 1035

原创 Excel函数——运用REPT函数画图

我们经常会利用Excel制作柱状图、条形图、折线图、饼图等图表以更加直观的展示数据。除了常用的图表,其实我们还可以利用Excel中的REPT函数制作图表,以补充丰富我们的图表样式。

2020-12-12 17:00:38 1017

原创 Excel函数——OFFSET函数将多列合并成一列

最近遇到一个问题,每个表的字段分别一列展示,不同表有公共字段,也有独有的字段,现想统计这些表共涉及哪些字段。基本思路就是将这些表的字段合并为一列再去重。OFFSET函数的功能是以指定的引用为参考系,通过给定偏移量得到新的引用。返回的引用可以是任何一个单元格,也可以是单元格区域,还可以指定返回的行数或列数。其格式为:OFFSET(reference,rows,cols,height,width)参数reference是一个引用区域,作为偏移量的参照系,它必须是对单元格或相连单元格区域的引用,否则

2020-12-10 20:39:05 12155 2

原创 用python构建线性回归和决策树模型实现房价预测

国家整体经济水平的不断提高和人们生活质量的提升,刺激着房屋价格也在不断的上涨。房价是由多个因素决定的,比如国家的宏观调控、居民人均可支配收入、房地产开发投资、住宅销售面积等,这些因素都影响着房价的走势。未来房价走势如何成为人们关心的热点,本文用Python构建线性回归和决策数模型实现房价的预测。

2020-12-09 08:18:37 12501 92

原创 Excel函数——Rank函数快速得到历年各省排名

我国经常通过Excel排序得到某个数值的排名,但是如果数据比较多时,例如想得到1978年-2018年每年我国各省份稻谷产量的排名,虽然能通过排序得到,但是需要大量重复操作,耗时耗力。而使用RANK函数即可快速解决这类问题。

2020-11-20 08:23:59 851

原创 聚类篇——(五)层次聚类

层次聚类主要有两种类型:合并的层次聚类和分裂的层次聚类。合并的层次聚类是一种自底向上的聚类算法,从最底层(即每个数据点为一类)开始,每一次合并最相似的类,直到全部数据点都合并到一类时或者达到某个终止条件时停止,大部分层次聚类都是采用这种方法处理。分裂的层次聚类是一种自顶向下的聚类方法,从最顶层(即全部数据点为一类)开始,然后把根节点分裂为一些子类,每个子类再递归地继续往下分裂,直到每个类中仅包含一个数据点。

2020-11-14 15:33:25 15958 2

原创 聚类篇——(四)有序样品聚类

有序样品聚类要求样品按一定的顺序排列,分类时是不能打乱次序的,即同一类样品必须是互相邻接的。比如要将新中国成立以来国民收入的情况划分为几个阶段,此阶段的划分必须依年份的顺序为依据,又如研究天气演变的历史时,样品是按从古到今的年代排列的,年代的次序也是不能打乱的。有序样品的聚类实质上是找一些分点,将有序样品划分为几个分段,每个分段看做一个类,所以分类也称为分割。显然分点取在不同的位置就可以得到不同的分割。

2020-11-03 08:23:12 10437 22

原创 Word文字报告自动与Excel数据同步更新

我们经常会写一些周报、月报、年报等周期性系列报告,如国家统计局每月发布的社会消费品零售总额数据,这些报告通常会有一些固定的文字描述,数据会根据不同时间而进行更新,即数据是动态的、随时变化的。如果每次都手动复制粘贴,无疑给工作人员带来很多重复性工作,效率低且容易出错。把复制的内容在Word中粘贴为链接,即可实现Word报告中文字描述随着Excel数据变化而自动更新,从而简化工作,提高工作效率和质量。

2020-09-16 16:46:12 5764 1

原创 聚类篇——(三)K-Medoids聚类

K-Medoids算法的基本思想为:** 对于给定聚类数目k,首先随机选择k个代表对象作为初始聚类中心,计算各剩余对象与代表对象的距离并将其分配给最近的一个簇,产生相应的聚类结果。然后开始迭代过程:对于每一次迭代,将随机选择的一个非中心点替代原始中心点中的一个,重新计算聚类结果。若聚类效果有所提高,保留此次替换,否则恢复原中心点。当替换对聚类效果不再有所提高,迭代停止。

2020-07-03 22:46:11 8062

原创 聚类篇——(二)K-means聚类

K-means聚类也称快速聚类,属于覆盖型数值划分聚类算法。它得到的聚类结果,每个样本点都唯一属于一个类,而且聚类变量为数值型,并采用划分原理进行聚类。K-means聚类的基本思想:参数K用以决定结果中簇的数目,算法开始时,要在数据集中随机选择K个数据对象用来当做K个簇的初始中心,而将剩下的各个数据对象根据他们和每个聚类簇心的距离选择簇心最近的簇分配到其中。然后重新计算各个聚类簇中的所有数据对象的平均值,并将得到的结果作为新的簇心;逐步重复上述过程直至目标函数收敛为止。

2020-06-30 21:29:16 4274

原创 聚类篇——(一)聚类分析概述

聚类分析是一种探索性的分析,在分类的过程中,人们不必事先给出一个分类的标准,聚类分析能够从样本数据出发,自动进行分类。聚类的目标是同一类对象的相似度尽可能大,不同类对象之间的相似度尽可能的小。

2020-06-30 21:23:12 11345

原创 利用pyecharts+sklearn实现链家北京二手房房价预测

利用Python的pandas、pyecharts、sklearn库,对之前从链家网站爬取的北京二手房的数据进行统计和可视化,分析北京二手房价格的影响因素,进而构建随机森林回归模型对北京二手房平均价格进行预测。

2019-04-22 19:23:11 10019 9

空空如也

空空如也

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

TA关注的人

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