自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 上证50股票分析

根据股票基本面价值投资分析要点和常用财务指标计算公式对上证50作简略分析。一、选股角度1、市盈率能够显示成长性,目标股的市盈率的倍数至少应等于未来三年复合增长的百分比数,而市盈率的倍数应低于20倍。2、算清未来三年的帐,未来三年上市公司复合增长率最低应大于18%,越大越好。3、毛利率应至少大于20%,而且最近三年应呈现稳定趋升的态势,不能下降。4、公司年利润总数绝对值越大越好,说明公司实...

2021-12-31 12:00:10 692

原创 Kettl基于Sakila数据库的客户兴趣邮件推送

基于Mysql的样本数据库Sakila,获取顾客消费记录和顾客信息写入数据库,并从消费记录中分析出顾客感兴趣的产品表单,定期从表单中选出产品进行Email推送。项目总览建立第一个转换“客户消费记录”“客户消费记录”转换主要目的是获取客户的个人信息,消费信息以及产品信息合并写入表customer_consumption(客户消费)表中,主要分为三次“表连接”。转换中读取了inventory...

2019-04-23 21:16:28 735

原创 tableau连接Mysql出现的密码验证 cannot be loaded

[MySQL][ODBC 5.3(w) Driver]Authentication plugin ‘caching_sha2_password’ cannot be loaded: dlopen(/u…mysql 8.0 默认使用 caching_sha2_password 身份验证机制 —— 从原来的 mysql_native_password 更改为 caching_sha2_passwor...

2019-03-27 16:31:07 1143

原创 ETL示例解决方案 —— Sakila示例之load_fact_rental转换(笔记九)

load_fact_rental转换load_fact_rental转换是作业load_rentals最后的转换。作业load_rentals里所有之前的转换都是加载维度表,而此转换是ETL最后的加载fact_rental事实表。  load_fact_rental转换的结构与load_rentals作业中其他转换不同。其他转换大多数将数据反正规化,从而加载维度表,而此转换的本质在于计算度量...

2019-03-26 21:53:27 1554

原创 ETL示例解决方案 —— Sakila示例之load_dim_film转换(笔记八)

load_dim_film转换load_dim_film转换用来加载dim_film维度表和dim_film_actor_bridge连接表。  load_dim_film转换是目前最为复杂的转换,它需要同时加载两张表。整个转换可以分为两个部分,前半部分 “max_dim_film_update”步骤到 “ load_dim_film ”步骤。这部分主要加载维度表dim_film。  后半部...

2019-03-26 20:56:02 1160

原创 ETL示例解决方案 —— Sakila示例之load_dim_actor转换(笔记七)

load_dim_actor转换load_dim_actor转换用来加载维度表dim_actor。  这是本作业中最简单的一个转换,它使用列和之前所有转换相同的变更数据捕获方式。唯一不同的是多了一个新的转换步骤: “ Insert/Update(插入更新)”。Insert/Update(插入更新)  load_dim_actor转换使用 “ 插入/更新 ” 步骤把数据加载到表dim_a...

2019-03-26 18:41:34 662

原创 ETL示例解决方案 —— Sakila示例之load_dim_store转换(笔记六)

load_dim_store转换load_dim_store转换的结构和load_dim_customer非常相似,就是为了加载缓慢维度变化维度表load_dim_store。  在该转换中,变更数据捕获的原理与load_dim_staff转换和load_dim_customer转换的原理基本相同,它同样使用 “ 维度更新查询 ” 步骤来加载并维护维度历史信息。区别在于数据源表和目标表变成了...

2019-03-26 18:28:22 907

原创 ETL示例解决方案 —— Sakila示例之load_dim_customer转换(笔记五)

load_dim_customer转换load_dim_customer是作业load_rentals中第二个执行的转换。  目的是加载dim_customer维度表。 load_dim_customer转换的结构同笔记(四)的load_dim_staff转换比较:1. 转换开始的地方是两个 “ 表输入 ” 步骤,用来捕获并抽取变更的数据。2. 转换结束的地方使用 “ 维度查询/更新...

2019-03-25 20:29:28 1545

原创 ETL示例解决方案 —— Sakila示例之load_dim_staff转换(笔记四)

load_dim_staff转换作业load_rentals中第一个要执行的转换是load_dim_staff。  这个转换的目的是加载dim_staff维度表。 数据库连接  load_rentals作业里面的转换包含了两个不同的数据库连接:一个叫做sakila示例数据库(源数据库);另一个叫做sakila_dwh,用来连接租凭星型模型数据库(目标数据库)。可以从Spoon左侧面板...

2019-03-25 18:05:48 3958 2

原创 ETL示例解决方案 —— Sakila示例之作业Load_rentals(笔记三)

循环加载笔记(二)中,构造并加载了dim_time和dim_date维度表。由于加载这些表只需要一次操作,因此不能算是真正的ETL过程。  下面,将记录如何抽取从最后一次加载后的变化数据,并对数据进行转换、然后加载到租凭星型模式的维度表和事实表。作业Load_rentals1. [ Start]  作业load_rentals的第一个作业项是START节点。每个有效的作业都只能有一个...

2019-03-25 16:28:54 1249

原创 ETL示例解决方案 —— Sakila示例之维度表dim_date和load_dim_time(笔记二)

本示例的前提是已经配置好sakila数据库和星型模型数据库,具体参考(笔记一)加载维度表dim_dateGenerate 10 years:生成10年数据(10*366=3660);语言代码(language_code):en地区代码(country_code):gb开始日期(initial_date):2000-01-01还有其他常量根据自己需求设置。Day Sequenc...

2019-03-20 22:28:51 3292 2

原创 sql复习

清空表数据而已,不删除表结构: TRUNCATE TABLE tableName 或者 DELETE TABLE tableName两者目的一样。truncate 比 delete速度快,且使用的系统和事务日志资源少。truncate 操作后的表比Delete操作后的表要快得多。当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能(表的结构、属性和索引都是完整的...

2019-03-20 21:56:10 150

原创 ETL示例解决方案 —— Sakila下载和基本配置 (笔记一)

本例子中,**系统定期从原数据库saklia抽取增量数据,然后转换成符合星型模型的数据,最后把数据加载到目标数据库的租凭业务星型模型中。**

2019-03-20 21:06:54 5275 1

原创 k-近邻算法

**k-近邻算法(kNN)**的工作原理:存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。一般来说,只选择样本集中前 k 个最相似的数据,通常 k 是不大于20的正式。**k-近邻算法(kN...

2019-03-18 21:01:38 230

原创 matplotlib基础学习笔记(2)

线型图:设置全局图像大小,颜色以及线条。plt.rc('figure',figsize=(16,8)) df0 = df[['date','open','low','volume']]df0.index = df0['date']df0.plot(figsize=(14,4))#内置参数改变图像大小柱状图:Series 的柱状图:fig,axes = plt.subplots...

2019-03-13 22:11:05 320

原创 matplotlib基础学习笔记(1)

import matplotlib.pyplot as pltimport numpy as np%matplotlib inline # juyter调用matplotlib.pyplot画图所需关于[%matplotlib详情]。(https://www.jianshu.com/p/2dda5bb8ce7d)本笔记所用图片都是通过plt.savefig()函数保存。用plt.f...

2019-03-10 16:49:16 477

转载 plot参数详解

封装matplotlib的plot函数pandas.plotDataFrame.plot(x=None, y=None, kind=‘line’, ax=None, subplots=False, sharex=None, sharey=False, layout=None, figsize=None, use_index=True, tit...

2019-03-09 15:36:23 6723

原创 pandas切片,loc和iloc

在DataFrame中的直接选取,如df[0:3],是从第0行到第2行,左闭右开。df.loc[0:3]选取第0行到第3行。df.iloc[0:3]和df[0:3]一样。loc 和 iloc 的区别:loc是根据索引来进行选取,iloc是根据位置进行索引。...

2019-03-09 15:08:03 768

转载 pandas 中读取和写入csv文件时候出现Unnamed,解决方案

在读取csv文件的时候,默认会自动添加新的一列,Unnamed。解决方案:read_csv()时候,设置index_col=0即可。在写入csv文件的时候,默认会自动加入新的一列,Unnamed,解决方案:to_csv()时候,设置index=False。或者加上index=True, index_label=“id”作者:数据轨迹来源:CSDN原文:https://blog.csdn...

2019-03-04 12:01:42 2865

原创 You are trying to merge on object and datetime64[ns] columns.

用padas分别读取了csv文件和xlsx文件,根据有相同的date列,用 .merge 方法合并。df=house_price_index.merge(shiller,on='date')\ .merge(unemployment,on='date')\ .merge(federal_funds_rate,on='date') .merge(gross_domestic_pr...

2019-03-04 11:37:05 10589 1

空空如也

空空如也

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

TA关注的人

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