自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

用数据说话

分析学习历程,工作总结

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

原创 因果推断概述

一个事情的发生导致了另一件事都发生两件事(A与B)相互关联A的发生可以预测B的发生排除其他可能的混淆变量。

2023-09-06 16:44:06 392

原创 统计数字会撒谎

在真实的数据分析工作中,真实的数据形态往往更复杂,更多样,而标准的辛普森悖论也有很多的扩展甚至是变种的形态。总结:GPA没有反映不同学生所选课程的难易程度,假设一个GPA为3.5的学生选的都是容易的课,而GPA2.9的学生的课程表里尽是微积分、物理这类难学的课,我们能一口判定孰优孰劣吗?总结:要明确分析的目的,分清分析的单位,描述的对象到底是谁(或什么),以及不同的人口中的谁(或什么)是不是存在差异。詹姆斯的两分球命中率也低于库里,三分球命中率也低于库里,但是汇总起来看,詹姆斯的投篮命中率是要高于库里的!

2023-09-06 16:28:30 236

转载 搭建数据指标体系2|四个模型

讲到这里你可能会有几个问题。问题1:指标分级治理拆这么细有什么用?正向作用:分解核心KPI,明确每一个步骤的行动计算和每个行动考核指标。例如,老板让你估算明年GMV,就可以根据历史数据运用这套指标体系对明年的GMV进行估算。再例如,老板让你下个月做到1个亿的GMV,让你出个方案。这是就可以再对曝光UV进行细分,把量拆解到每一个渠道上去。反向作用:当业务出现问题,可以通过指标体系反向排查业务问题。例如,这个月的GMV下降了10%,老板让你排查下问题在哪里。

2023-05-06 11:12:04 324

原创 搭建数据指标体系1|概览

应能够最为精准地抓住企业为客户创造的核心价值。指标的前后关联关系快速找到关键指标波动的原因。WHEN 下订单时间(时间戳表示)WHERE GPS IP 国家 城市。WHO 用户ID 设备ID。HOW 前向页面 浏览时长。内容:大盘分析(各模块核心指标)指标体系建立后应该能覆盖大部。决策信息 宽度与效率的平衡。4W1H 埋点+建表。WHAT 页面标题。

2023-05-06 10:16:15 594

原创 python连接oracle并自动发送邮件

经过3,我们在桌面上获得了一个文件夹,该文件夹中包含了每个大区对应的文件夹,每个大区的文件夹包含了3个表,分别是员工形象,门店形象,明细汇总。经过上述步骤,我们在桌面上获得了一个文件夹,该文件夹中包含了每个大区对应的文件夹,每个大区的文件夹包含了1个总表,这个总表中有3个sheet,分别是员工形象、门店形象、明细汇总。接下来有个需求,我们想要 明细汇总、大区排名、扣款 三个总表,而不是分大区的表,3 在 2 中的文件夹中,根据 1 中的大区 创建对应大区的文件夹。扣款 该表为总表,不进行切分,处理同上。

2023-05-05 18:26:07 3062

原创 数据埋点1

互联网的海量数据是通过数据埋点技术采集用户行为数据而产生的,用户行为数据采集及上报流程如下:我们可以看到,用户点击或刷新客户端(网页/APP),这个操作行为会被对应页面位置背后的代码收集到,然后像服务器发送请求,服务器响应请求后,返回数据给客户端,客户端接收并展示收到的数据,用户就能看到想要的内容。上述过程中,客户端通过代码采集用户操作行为的过程,就是数据埋点技术;采集到的数据通过SDK(Software Development Kit)上报,就是数据上报技术;

2023-05-03 14:26:13 1348

原创 数据埋点2

作为数据分析师的你,是否和我一样经常会被业务方拿着两个不同数据平台的报表数据进行灵魂拷问。下面的场景你应该在熟悉不过了。后来,我向另外一个数据平台的相关人员咨询之后,发现他们统计DAU的最小单位是open_id,不同的统计口径会造成一定的数据差异。而统计口径的差异不止出现在报表统计阶段,在数据埋点阶段也会出现口径不一致的问题,触发事件的条件、数据埋点的方式、数据上报的方式不同都会造成数据不一致的情况出现。

2023-05-03 14:25:55 1155

原创 数据敏感度

所谓的数据敏感度,其实就是在大脑内建立了数字和业务之间的联系,而优秀的数据敏感度,就是能够一眼看出数据的问题和背后可能的原因。什么叫一眼看出?(优秀的数据敏感度)❖ 如果你是游戏行业的,我告诉你这款MMORPG的次留是20%,你能知道我款产品在行业里处于什么样的水准,游戏前期可能存在什么样的问题等;❖ 如果你是O2O行业的,我告诉你外卖订单量相比于昨天下跌了10%,你能很快判断出问题的影响面和造成订单量下跌的可能原因;

2023-05-03 14:03:36 1304

原创 python连接oracle

安装cx_Oracle安装 instantclient查询SIDselect value from v$parameter where name like 'service_name%'连接import osimport cx_Oracle as cx#设置ORACLE驱动位置os.environ['path'] = r'D:\Programs\instantclient-basic-windows.x64-11.2.0.4.0\instantclient_11_2'def con

2023-04-20 19:59:18 1222

原创 sql 删除重复数据只保留一条

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有ro...

2023-04-20 19:53:53 5168 1

转载 tableau 无法显示超过16行

tableau 无法显示超过 16 个行或列tableau版本2019.4 版本之前,无法将超过十六 (16) 个字段放在“行”或“列”功能区上。升级之后则可放置50个字段。一个不用升级的小办法! (原理感觉有点像写html哈哈)先把待用的工作簿 保存为 .twb 格式(即tableau工作簿的格式)。然后右键用文本编辑软件/编程的IDE 比如 VS code/sublime text/甚至wps/word…找到下面代码中的几行,把 value 改成你想要的列数。我这里改成了 56</

2023-04-20 19:15:22 286

原创 Jupyter Notebook小知识

Python中有庞大的第三方包,而每个包中又包含很多功能性的函数,在使用这些函数时,往往会忘记函数内参数的具体用法,此时可以在函数后面按入Shift+Tab组合键,查看对应的帮助文档,而且还可以多按几次“Tab”键,返回不同风格的帮助文档。在其他编程环境中也许会显示代码行号,但是在Jupyter的默认情况下是没有代码行号的,如果期望一个cell中显示所有代码对于的行编号,可以在command模式下,按一次字母l键。或者还有另一个方法,在command模式下,按一次字母x键也可以实现cell的删除。

2023-04-20 17:57:13 598

原创 sql null和(‘ ‘)和(‘‘)的区别

https://www.zhihu.com/collection/141177027?page=2

2023-04-20 17:37:36 11444

原创 Python正则

字符串的匹配查询re模块中的findall函数可以对指定的字符串进行遍历匹配,获取字符串中所有匹配的子串,并返回一个列表结果。该函数的参数含义如下:findall(pattern, string, flags=0)pattern:指定需要匹配的正则表达式。string:指定待处理的字符串。flags:指定匹配模式,常用的值可以是re.I、re.M、re.S和re.X。re.I的模式是让...

2021-07-11 17:29:50 115

原创 python文件读取与异常处理

Python 中读取、写入文件,都可以通过方法 open() 实现,该方法用于打开一个文件,然后返回文件对象,如果文件不存在或者无法打开,会报错 OSError。open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)参数说明:file:必需...

2021-07-11 17:29:26 6058 1

原创 python中画图显示中文乱码

python的str默认是ascii编码,和unicode编码冲突,因此经常会报以下错误:UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128)解决这个问题很简单,只要在代码加入以下语句:import sysreload(sys)sys.setd...

2021-07-11 17:28:40 1515

转载 数据分析工作有哪些「新手常见错误」?

https://mp.weixin.qq.com/s/-bwxzyqRn1uhDvFlr3QXlg一、主管臆断,而不是用数据去证明错误点1)结论里不要是“我觉得”,“我认为”这种主管臆断的词,而是要以客观的方式,所有的结论都要用数据去证明你的观点。2)提出假设,用数据证明,得出分析结论的方法,就是假设分析方法 ,要学会。1)先提出“双十一”活动的假设2)用数据进行证明二、缺少沟...

2021-07-11 17:13:51 111

转载 解析json(get_json_object)

https://blog.csdn.net/qq_34105362/article/details/80454697

2021-05-29 23:26:45 427

原创 odps sql 常用正则表达式

select regexp_substr(‘12.12元/小时’, ‘\d*(\d*.\d*)?’) from dual;select regexp_substr(‘mint choc中文11国1’,’\d+’);select regexp_substr(‘CYJ8-ABC’,’[0-9]+’) from dual;select REGEXP_SUBSTR(ext3,"1*")from ...

2020-04-18 18:59:29 10011

原创 odps sql 删除、更新、插入数据

ODPS不支持直接通过delete语句删除数据。对于非分区表通过“TRUNCATE TABLE table_name;”语句清空表数据,也可以用覆盖写的功能实现类似的功能。如要删除TableA表里的Col=1的数据,使用如下命令即可INSERT OVERWRITE TABLE TableA SELECT FROM TableA WHERE Col <> 1;要删除全部数据,类...

2020-04-06 22:14:23 15087 1

原创 odps sql 日期函数处理

select to_char(‘2019-12-21 07:05:26’,‘yyyymmdd hhmm’)select to_char(‘2019-12-21 07:05:26’,‘yyyymmdd hhmi’)odps 删除某列用新的表付覆盖CREATE TABLE temp_DEVICE_STATUS_FRONT_APP_1_delete_column ASSELECT did...

2020-04-06 20:58:36 26214 2

原创 odps sql 字符处理函数

截取某段特定的数字安卓9.0安卓8.1安卓7.1.1安卓6.0安卓5.1安卓5.0安卓4.4w安卓4.0.3安卓4.0安卓3.0安卓3.0以下取出里面的数字SELECT CAST(notes AS BIGINT )FROM tb_android_api_version;...

2020-04-06 18:06:39 13953

原创 odps sql 窗口函数基础

窗口函数是一个查询利器,平时遇到棘手的问题,90%能够用窗口函数解决。本篇内容主要介绍比较常用的窗口函数,看完这篇文章,基本能够解决大部分查询问题本篇主要内容如下本篇采用的数据集是 titanic的train.csv数据,截取前几行如下:1.排序函数题目:不同性别下 年龄最大的人SELECT sex ,age ,ROW_NUMBER()OVER(...

2020-04-05 22:33:56 3339

原创 mysql实现行列转换

首先建一个分数表,sid 学生id,cid课程id,score课程分数CREATE TABLE `sc` ( `sid` varchar(10) NOT NULL DEFAULT '', `cid` varchar(10) DEFAULT NULL, `score` decimal(18,1) DEFAULT NULL, KEY `sid` (`sid`)) ENGINE=I...

2019-10-31 18:28:58 423

原创 SQL-查询学生全为男生的老师为哪些

举个例子:有个教师表,有两个列 id 和 教师名字; 有个学生表,有三列:姓名, 性别和教师id, 现在要查询学生全为男生的教师有哪些? (一条sql)select a.* from 教师表 a join 学生表 b on a.教师id=b.教师idwhere count(1)==sum(case b.性别 when ‘男’ then 1 else 0 end )...

2019-10-24 21:26:19 608 1

原创 python3安装包过程中出现的问题

安装 gensim包pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gensim - 采用镜像安装,速度较快import warningswarnings.filterwarnings(action='ignore',category=UserWarning,module='gensim')import gens...

2019-10-24 19:39:20 465

原创 mysql存储过程及常见问题

需求:当月最购买的秤数量分析:表里要有两个字段,日期(YYYY-MM)、秤数量;从相关表中获取这两个字段,设置时间;建立事件,调用存储过程1.建表drop table `rate_a`create table `rate_a`(`id` int(11) not null auto_increment,`date_a` date,`num_a` int(11) default "0...

2019-10-24 17:29:27 1357 1

原创 Python中base64的解码与编码

在一些项目中,接口的报文是通过base64加密传输的,所以在进行接口自动化时,需要对所传的参数进行base64编码,对拿到的响应报文进行解码;Base64编码是一种“防君子不防小人”的编码方式。广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符。优点:速度快,ascii字符,肉眼不可理解缺点:编码比较长,非常容易被破解,仅适用于...

2019-10-24 16:43:35 224

原创 python自动发送邮件

文章目录1.发送文字内容+附件2.定时发送邮件1.发送文字内容+附件首先,我们要知道自己发送邮件需要的步骤:选择邮箱—>登录邮箱(用户名、密码)—>发件人(默认为自己)—>收件人—>主题—>正文—>附件—>发送python发邮件的步骤与其类似,主要是模仿这一系列动作。python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是...

2019-10-24 16:43:00 775

原创 mysql 组内排序

问题:对每门课程 的分数由高到低进行排序首先我们看表sid为学生id,cid为课程id,分数为score我们先对其进行全表排序SELECT@rank := @rank + 1 AS row_num , a.*FROM sc AS a INNER JOIN ( SELECT @rank := 0 ) AS b ON 1 =1理解了上面的,然后进行 分组,并进行组内排序...

2019-09-18 12:41:00 2069 1

原创 SQL几种删除方式区别 drop、delete、truncate

复制表https://www.runoob.com/mysql/mysql-clone-tables.htmlReference:https://www.jianshu.com/p/15023d3d76eahttps://www.cnblogs.com/pingzhe/p/8126529.html

2019-09-03 19:19:28 1208 1

原创 mysql 主键id不连续的解决办法

mysql解决删除(或同步)数据后,主键不连续问题1.去掉id的主键,自动递增(在navicate可用鼠标点击操作)2.增加一列idd作为主键,设置为自动递增3.-- 若让 第一行从id=1开始(否则自行改变i的初始值)SET @i=0;UPDATE table_name SET `id`=(@i:=@i+1);注意:主键id只针对int类型,bigint不可以使用。但是可以先将字...

2019-08-30 19:10:49 5414 1

转载 性能对比:Count(字段)、Count(主键)、Count(1)、Count(*)

以下讨论是基于InnoDB引擎。至于分析性能差别的时候,可以记住以下几个原则:1.server层要什么就给什么;2.InnoDB只给必要的值3.现在的优化器只优化了count(*)的语义为“取行数”,其它“显而易见”的优化并没有做。接下来,我们一个个来进行分析。对于count(主键id)来说,InnoDB引擎会遍历整张表,把每一行的id值都取出来,返回给server层。server层拿到...

2019-08-30 18:12:50 300 1

原创 sql 执行顺序

sql执行顺序问题每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入这些虚拟表对调用者(客户端应用程序或者外部查询)不可用只是最后一步生成的表才会返回给调用如果没有在查询中指定某一子句,将跳过相应的步骤(8)SELECT (9)DISTINCT (11)<Top Num> <select list>(1)FROM [left_table](3)&lt...

2019-08-30 16:17:29 748 1

原创 case...when...

max(case time_status when ‘10’ then testcount else 0 end) 'testcount1

2019-08-30 15:50:28 1563 1

原创 mysql 求中位数、四分位数

create table student_t (id varchar(32) primary key,value int);insert into student_t (id,value)values (‘A’,40),(‘B’,50),(‘C’,60),(‘D’,70),(‘E’,80),(‘F’,90);SELECTgroup_concat( id ),avg( VA...

2019-08-28 19:51:41 14237 5

原创 回表

因为主键索引树的叶子节点直接就是我们要查询的整行数据了。而非主键索引的叶子节点是主键的值,查到主键的值以后,还需要再通过主键的值再进行一次查询。面试官:刚刚你提到主键索引查询只会查一次,而非主键索引需要回表查询多次。(后来我才知道,原来这个过程叫做回表)是所有情况都是这样的吗?非主键索引一定会查询多次吗?我:(额、这个问题我回答的不好,后来我自己查资料才知道,通过覆盖索引也可以只查询一次)科...

2019-08-28 17:03:35 16341 3

转载 一份非常完整的 MySQL 规范

一、数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)数据库对象的命名要能做到见名识意,并且最后不要超过32个字符临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关...

2019-08-27 22:17:00 173

原创 mysql常见问题汇总

只备份值我用的是oralce 数据库。在每次手动对数据库表作CRUD时,备份一下表数据,防止误操作。以下是SQL语句create table T_BAK(备份表名) as select * from T(原表)注意备份的 T_BAK 主键以及外键关系均不会保留。备份表结构及 索引如何选择服务器的类型?Development Machine(开发机器):该选项代表典型个人用桌面工作站。假...

2019-08-11 14:04:02 185

原创 mysql事件

1.事件简介事件自Mysql5.1起开始被支持,它通过服务器中的 事件调度器 模块进行监视,并判断其是否需要被调用。事情调度器可以在指定的时刻执行特定的任务,从而实现系统的自动化操作,而这些特定的任务就是事件,这些特定的任务通常是一些确定的SQL语句目前,Mysql的事件调度器可以精确到每秒钟执行一个任务1.1事件与触发器的异同相同点:两者都是在某些事情发生的时候启动不同点:事件...

2019-08-11 13:45:08 829

美赛论文模板

美赛论文模板,常用论文模板美赛论文模板,常用论文模板

2018-02-12

空空如也

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

TA关注的人

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