tag 标签: CDA经管大学堂:名校名师名课

相关帖子

版块 作者 回复/查看 最后发表
【招募】CDA China 秘书长 attach_img digest 数据分析师(CDA)专版 数据大侠 2015-3-5 32 9671 钱学森64 2021-5-3 19:30:44
致CDA学员及咨询者的一封信 数据分析师(CDA)专版 Still.. 2014-2-14 70 49809 看云端 2017-2-4 11:27:11
【CDA就业班独家发布】CDA数据分析师学习之路(4) attach_img 数据分析师(CDA)专版 小段DM 2016-1-29 7 2866 Alt_forever 2016-7-7 22:09:04
【CDA就业班独家发布】CDA数据分析师学习之路(3) 数据分析师(CDA)专版 小段DM 2016-1-28 11 3910 Alt_forever 2016-7-7 22:07:59
【CDA就业班独家发布】CDA数据分析师学习之路(1) attach_img 数据分析师(CDA)专版 小段DM 2016-1-25 24 6865 baddyrain 2016-5-13 22:18:28
刚逛论坛发现一个很好的免费的活动,强烈推荐给大家! 休闲灌水 mdqwerty 2016-1-28 18 2618 lcw19942003 2016-2-25 17:10:43
免费的机会和大牛级数据分析师畅谈 版主议事厅 客初 2015-11-24 30 156 hylpy1 2015-12-21 12:40:41
CDA精品案例分析 ——利用时间序列精准预估零售业的销量与营业额 attach_img 数据分析师(CDA)专版 Frank233 2015-12-14 11 4799 lvlong.cfa 2015-12-16 00:04:11
本人大四本科生统计学,CDA初级的话,需要培训一下么 数据分析师(CDA)专版 syoungini 2015-2-2 10 6921 pzlzz 2015-12-13 22:59:10
CDA学员答疑规则 attach_img 数据分析师(CDA)专版 Still.. 2014-3-26 5 4872 guanyun362 2015-12-7 15:07:29
CDA LEVEL Ⅱ数据挖掘与企业分析平台搭建【案例培训】_真实项目实战教学! 数据分析师(CDA)专版 Still.. 2015-4-7 5 5049 lzt341 2015-9-8 09:57:01
千里之行始于足下——武汉大学CDA校园俱乐部启程! attach_img 武汉大学-CDA校园俱乐部 rex_lee 2015-4-1 0 1132 rex_lee 2015-4-1 21:33:20
2015年3月21日CDA俱乐部线下活动#大数据与商业风控# attach_img 数据分析师(CDA)专版 henry_l 2015-3-23 8 2702 henry_l 2015-3-24 11:19:39
数据分析师属于哪种岗位_数据分析师岗位 数据分析师(CDA)专版 galaxy_mm 2014-9-5 0 2051 galaxy_mm 2014-9-5 16:38:02
数据分析师培训需要知道哪些知识 数据分析师(CDA)专版 coolguyboy 2014-9-2 0 1718 coolguyboy 2014-9-2 15:50:14
CDA数据分析师培训第5期(五月),内容增加一倍,价格一如既往,双证认证! 数据分析师(CDA)专版 Still.. 2014-3-3 72 41199 a1012655003 2014-6-10 13:32:16
祝CDA第四期顺利结业,5月第五期期待你的加入! 数据分析师(CDA)专版 Still.. 2014-3-19 25 11307 sophie3240 2014-4-18 10:26:39

相关日志

分享 DAY20:【第2章: Python基础 函数、全局变量、局部变量】 #CDA学习打卡 #CDA数据分析师 ...
大妮tbdt 2024-11-4 22:44
【函数的使用】 函数定义和调用 在开发程序时,需要多次用到某块代码,为了提高编写效率和代码的复用性,把具有独立功能的代码块组织为一个小模块,称为函数。函数也是各个功能串联的“流水线“模块。类似数学函数f(x),每次传入一个参数x,就可以得到一个函数值y,返回映射要稳定! def 函数名(参数1, 参数2, ……): """函数文档说明文字函数文档说明文字 函数文档说明文字函数文档说明文字""" 代码 函数名(参数) ——调用函数 函数名? ——查看函数文档说明 !调用函数更多时候希望获取返回值;return一旦运行到,函数会直接退出,return后面任何函数内的代码都不会被执行 @函数中最终结果用return返回,调用函数时指给一个定义的变量 要求返回多个值: def test(a,b): c = a+b d = a*b e = a/b return c,d,e #等同于return(c,d,e) test(2,3) (5,6,0.666666666666666) c,d,e = test(3,2) #相当于 c,d,e = 5,6,1.5 c 5 d 6 e 1.5 练习:完成一个函数,功能和sum相同 sum( ) 9 def sum_me(x_list): n = 0 for i in x_list: n += i return n sum_me( ) 9 形参和实参 定义时小括号中的参数,用来接收参数用的,称为形参(因为仅作为一个变量存在,并不是函数运行时候的真实值);调用时小括号中的参数,用来传递给函数用的,称为实参(真正传入进入函数的参数)。 位置参数和关键字参数 位置参数 positional argument test(1,2,3) #1,2,3按顺序依次传递 test(c=3, b=2, a=1) #按关键字传递参数,形参与实参结合 test(1,2,c=3) #可以混合 !但位置参数不能在关键字参数的后面,也就是开始使用关键字参数后就一直继续使用关键字参数 test(a=1,2,3) #报错 默认参数 print(value, …, sep=' ', end='\n', file=sys,stdout,flush=False) def power(x, y=2) #多遇平方,所以可以设置参数y默认为2,调用时作为默认值传入 n = 1 i = 0 while i y: n *= x i += 1 return n power(3) 9 power(2,5) 32 可变长参数 指传入的参数个数时可变的,可以是1个、2个到任意个,也可以是0个,打包成一个tuple元组传进来。 def sum_you(*x_list): *xlist已为可变长参数 n = 0 for i in x_list: n += i return n 可变长关键字参数 允许传入0个或人一个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict字典。 def test (**x): for i in x: print(i, '---', x ) test(a=1, b=2, c='qqq', d=True) d--- True a--- 1 c--- qqq b--- 2 普通参数+可变长参数+可变长关键字参数 def fun(a,b, *args, **kwargs): print("a =", a) print("b=", b) print("args=", args) print("kwargs:") print(kwargs) fun(1,2,3,4,5,m=6,n=7,p=8) a =1 b =2 args = (3,4,5) kwargs: {'m':6, 'n':7, 'p':8} 练习:给定一组数字a,b,c……,请计算a^2+b^2+c^2+…… def calc(*args): sum = 0 for n in args: sum += n*n return sum 【变量的作用域】 局部变量 在函数内部定义的变量。不同的函数,可以定义相同名字的局部变量,但是各个之间不会互相产生影响。作用是为了临时保存数据需要在函数中定义变量来进行存储。 全局变量 既能在一个函数中使用, 也能在其他函数中使用的变量。 全局变量和局部变量名字相同 如果全局变量的名字和局部变量的名字相同,那么优先使用局部变量。(强龙不压地头蛇) 修改全局变量 函数内部可以调用全局变量的值,但是不能修改它 非要在函数内部修改全局变量: a = 1 def f(): global a #在函数内声明,引入全局变量,就可以继续修改 a+= 1 print (a) f() 2 可变类型的全局变量 在函数中不使用global生命全局变量时,不能修改全局变量,本质是不能修改全局变量的指向,即不能将全局变量指向新的数据。 对于不可变类型的全局变量来说,因其指向的数据不能修改,所以不适用global时无法修改全局变量; 对于可变类型的全局变量来说,因其指向的数据可以修改,所以不适用global时也可以修改全局变量。
个人分类: 学习笔记|20 次阅读|0 个评论
分享 DAY19:【第2章: Python基础 tuple元组 dict字典 set集合】 #CDA学习打卡 #CDA数据分析 ...
大妮tbdt 2024-11-4 20:43
【 Tuple 元组的使用方法】 元组的定义 Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,而列表使用方括号。 !'tuple' object does not support item assignment,内存位置地址不可变,只要该元组仍存在,但是可以切片或复制 aTuple = ('et',77,99.9,'OK') #元组内元素支持多种数据类型的混合 一个元素的元组定义方法 tp4 = (1,) #注意需要后跟逗号,列表就不需要 tp4 (1,) t = (),空元组没什么意义,因为无法继续修改 tuple中不可变的陷阱 元组中嵌套列表,元组的内存地址不能改变,即元组的“不可变”的含义;但是内部嵌套的列表可以按列表性质随意变化,仍不影响外层元组结构,同时此嵌套列表不能变更为其他的字符串等不同元素,只能是列表 元组的连接和重复 同list,+号拼接不同元组,*N可以复制元组 元组的方法 增删改在元组中都是不允许的,只有: t.count(),不存在结果时返回0 t.count(value) t.index(),不存在结果时报错 t.index(value, ]) 【dict 字典】 字典的含义 传统纸质字典查询方法 现在目录中查找到这个单词 - 通过目录查看到单词所在页码 - 翻到这一页中查看单词的详细解释 字典由一个一个键值对(key-value)构成,键就相当于字典的目录,在键中储存由一个内存地址(相当于页码),然后再内存地址中查找这个键对应的值(相当于这一页面中储存的单词详细讲解) 字典类型普遍存在于各编程语言(Python中叫dict,Java中叫map),也称关联数组或哈希表,具有极快的查找速度(只有1的计算量但是需要消耗大量内存)。 创建字典 字典由键(key)和对应值(value)成对组成。注意,每个键与值之间用冒号隔开,每对键值对用逗号隔开,整体放在大括号中。键必须独一无二,但值则不必;值可以取任何数据类型,但键必须是不可变的,比如字符串、数组或者元组。无论最终这个对照表有多大,查找速度都不会变慢。 !不可变的数据类型有:数字、字符串、元组 可变的数据类型有:列表、字典、集合——unhashable dict = {'Alice':'2341','Beth':'9102','Cecil':'3258'} 字典的索引 d ——不存在于字典中,会报错 d.get('卡恩')——不存在于字典中,不会报错没有任何返回值 d.get('卡恩','您查找的球员不存在')——存在于字典中的值会正常返回,不存在于字典中的值,按第二个参数要求返回,@可以制定为固定数字,对返回该数字情况设计下一步流程 添加/更改/删除键值对 !字典是无序的数据类型,不关注顺序的 d = {'C罗纳尔多':94,'梅西':93,'内马尔':92,'苏亚雷斯':92,'诺伊尔':92,'莱万多夫斯基':91,'拉莫斯':90} 更改: d = 96 添加: d = 91——直接对一个原来不存在的键进行赋值 删除: del d d.pop('姆巴佩')——一定要说明值,因为字典是无序的,已删除并返回值 d.popitem()——随机弹出删除,@可以用于对字典进行一次遍历 while d: item = d.popitem() print('球员姓名:',item , ' 球员评分:',item ) d {} ——循环结束,字典已经清空 判断key是否存在 d.get('梅西',-1) #返回-1代表不存在,返回正常值代表存在 key = input('请输入字典的key') if d.get(key,-1) == -1: print(key,'是不存在的') else: print(key,'存在','它的值为:', d.get(key,-1)) "内马尔" in d True "李毅" in d False 【dict 字典函数的使用】 dict函数 !每一个数据类型都有一个对应的函数,一一对应,用于把其他的数据类型转换为目标类型 d = dict() #空字典,等同于 a = {} 列表转字典:要求每个列表元素都由两个子元素构成,一个为key一个为value dict( ) {'a':'aaa','b':'bbb','c':'ccc'} 用关键字参数创建: dict(a="python", b="java", c="PHP") {'a':'python','b':'java','c':'PHP'} zip():按元素顺序一一配对 dict(zip( , )) {'one':1,'two':2,'three':3} 字典的常用方法 1)获取字典的key和value d.keys() d.values() d.itmes() ——键和值打包成一个元组一口气进行返回 2)update更新字典 k = {'李毅':50,'范志毅':55} d.update(k) #将另一个字典的记录添加/拼接进原字典 3)fromkeys生成一个字典框架 e = {} ——或者一个非空的字典也可以 names = e.fromkeys(names) scores = 90 e.fromkeys(names,scores) #向新字典统一赋值 4)setdefault:根据key是否存在添加键值对 d.setdefault('李毅',50) #如果字典中没有就直接添加此键值对;如果字典里已经有该键,就返回键原本对应的值,而不会对原来的数据进行更改,避免误操作和额外判断! 字典的遍历 对字典中每一个键值对都进行处理,依次从头到尾进行处理。 for i in d: #等同于 for i in d.keys(): print(i) #遍历所有的key for key in d: print(key, ':',d ) #遍历所有键值对,还可以设置显示格式 --------------------或者--------------------- for i in d,.items(): print(i ,' ',i ) - for k,v in d.items(): print(k,' :',v) for key in d: d += 10 #对每个球员得分值加10分 d 练习:生成一个新字典,储存所有分数为偶数的人 new_d = {} for key in d.keys(): if d % 2 ==0: new_d = d new_d {'C罗纳尔多':92,'内马尔':92,'拉莫斯':90,'苏亚雷斯':92,'诺伊尔':92} 把列表转换为字典: names = scores = d = {} for i in range(len(names)): d = scores d - dict(zip(names,scores)) 【Set 集合】 set集合的特性 set和dict的结构非常类似,最关键的不同是在set中只有key而没有value,可以认为set就是只有keys而不储存values的字典。set的key部分可字典中有相同的特性:1)key必须是不可变的数据类型;2)不能有相同的重复key存在。除此以外,set还可以进行数学中的交集、并集、差集等集合运算。 @set非常适合用于去掉重复值的操作 a = s = set(a) s #s就是新创建的集合 {1,2,3} 去除重复值 列表转集合完成去重目的后转回列表: L = s = set(L) list(s) !注意set同样是无序的,虽然有时会顺序显示 集合中添加和删除值 add(key)可以添加元素到set中,但对于已经存在的值不会有改变 s.add(100) s.remove(100) #如果移除元素不存在会报错 s.discard(66) #66不在集合元素中,移除并不会报错,@上下两者根据使用要求选择 s.pop() #随机移除一个元素,直到清空集合 集合的交集、并集和差集 交集: s a s.intersaction(a) #同效,两种方法都不会改变原集合s和a s.intersaction_update(a) #将交集结果替换更新集合s 并集: s | a s.union(a)#同效,两种方法都不会改变原集合s和a s.update(a)#将交集结果替换更新集合s 差集: s - a s.difference(a) #同效 s. difference_update(a)#将交集结果替换更新集合s a -s #反过来取差集 补集: s^a s.symetric_difference(a)#同效 s.symetric_difference_update(a)#将交集结果替换更新集合s 是否子集: x.issubset(y) #返回bool值
个人分类: 学习笔记|16 次阅读|0 个评论
分享 DAY18:【第2章: Python基础 if判断 for循环 while循环 列表】 #CDA学习打卡 #CDA数据 ...
大妮tbdt 2024-11-2 22:38
【控制流语句判断语句if】 控制流语句:控制程序运行流程的语句 顺序结构(从上到下,从左至右)、分支结构(if判断,从前往后判断)、循环结构(每次回到条件判断) @缩进是不同层级的格式区别 if条件判断1: 执行1 elif条件判断2: 执行2 elif条件判断3: 执行3 else: 执行4 !条件判断结果只有真或假,其他形式都会转化为真假 eg. BMI落档 height = 1.70 weight = 75 BMI = weight/(height**2) if BMI 18.5: print("过轻") elif BMI 25: print("正常") elif BMI 28: print("过重") elif BMI 32: print("肥胖") else: print("严重肥胖") input函数 获取用户输入,input(prompt=None,/) text = input('请输入您的姓名:') age = int(input('请输入您的年龄:')) if语句的嵌套 if 条件1: 满足条件1 做的事情1 满足条件1 做的事情2 (…省略…) if 条件2: 满足条件2 做的事情1 满足条件2 做的事情2 (…省略…) else: if 条件3: 满足条件3 做的事情1 (…省略…) !条件2下的事件,相当于条件1和条件2同时满足 e.g. 判断输入年份是否为闰年 year = input("输入一个年份:") if year.isdigit() and len(year) ==4: #是数字并且长度为4位数的话才执行判断否则提示输入错误 year = int(year) #转换为整数型 if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): print('您输入的{}是闰年'.format(year)) else: print('你输入的{}是平年'.format(year)) else: print('您输入的不是一个合法的年份') 【for 循环】 循环是为了对一个序列型的数据中的每一项一次进行操作,for比while更合适。 for循环可以用于遍历任何一个序列,例如一个列表或字符串 for 临时变量 in 列表或者字符串等: 循环满足条件时执行的代码 for循环用于字符串 e.g. 把字符串种的中文提取出来,变成一个新的字符串 res ='' for i in text: if (i. islower() or i == ' ' or i.isupper()) == False: res += i res for循环用于列表 words = #这是一个列表 L = ) L numbers = L2 = range函数 range(终止),默认从0开始 range(开始,终止,步长),终止不包含在序列内 range(10,20,2) 相当于 通过list(range(10,20.2))可见 递减序列,range(20,10,-1) !步长参数必须是整数 for循环用于数值序列 for i in range(10): print(i) e.g. 计算1-100的累加值 n =0 for i in range(1,101): n += i n 练习:寻找水仙花数 for i in range(100,1000): a = i // 100 b = i // 10 %10 c = i % 10 if a**3 + b**3 + c**3 == i: print(i) 【while 循环】 while循环的方法 不断的运行,指导指定的条件不满足为止。 while 条件: 条件满足时,做的事情1 条件满足时,做的事情2 条件满足时,做的事情3 …(省略)… e.g. 计算1-100的累加和 i = 1 sum_i = 0 while i= 100: sum_i += i i += 1 print('sum_i的值是:',sum_i) 设置指示器 定义一个变量用于判断循环是否需要终止,这个变量称为指示器,默认设置为True,当这个变量满足某种条件时,会变成False,这时循环就会终止。 active = True while active: …… 其他数据类型和布尔类型数据的转换规则 数值类型 - 0为假,其他为真 字符串 - 空字符串为假,其他为真 元组列表 - 空列表为假,其他为真 None - 为假 while循环的嵌套 e.g. 倒三角形星型输出 * * * * * * * * * * * * * * * i = 0 while i 5: j = 0 while j = i: print('*', end = ' ') j += 1 i += 1 print() 练习:打印九九乘法表 i = 1 while i = 9: j = 1 while j = i: print('{}x{} = {}'.format(i,j,i*j), end=' ') j += 1 print() i += 1 使用break结束循环 一旦程序走到break这行代码,就会终结当前的循环,不再继续向下运行后续。 i = 0 while i10: i += 1 print('----') if i==5: break print(i) ---- 1 ---- 2 ---- 3 ---- 4 ---- 使用continue结束本次循环 用来结束本次循环,但不会退出整个循环,会紧接着执行下一次的循环 【列表的使用】 列表的作用 序列型数据形式,有序序列,用一个集合形式的数据结构,把同类数据储存在一起,需要时再分别进行提取。类似并排排列的收纳箱子,后续可以进行排序、筛选等操作。 列表的定义方法 1、列表是一种可变的数据类型 2、列表中的数据类型不限 3、列表中的多个值之间用逗号隔开或后接换行 4、列表可以多层嵌套列表 列表的索引和切片 列表 列表 ,半开区间,开始的位置包含在内,而终止的位置不包含在内;当步长设置为负整数,代表从后往前切。 二维列表的索引方法 类似矩阵,先行后列,list 步长-1代表列表的反转,子列表内元素顺序不变,list 更改列表中的值 list5 = 贰, 叁, 肆 列表的list函数 将其他的数据类型转换成列表类型 a = list('列表的一个函数') a ''.join(a) #将list函数结果反向还原回去 '列表的一个函数' d = {'a': 1, 'b':2} list(d) #只把字典的键值对中的“键”key转换成列表 列表的拼接和重复 +号拼接不同列表,*N可以复制列表 列表的浅复制和深复制 b = a #b和a实际还是一个东西,指向同一个内存位置 浅复制—— c = a.copy() d = a !当存在列表嵌套情况时,内存地址的区别,如果目标指向同一个内存地址的话,即使copy()也会随着变化 深复制—— import copy e = copy.deepcopy(a) #深复制 列表的清空 e.clear() 列表的常用方法 1、增 1)append 在列表最后追加元素 alist = list_1 = blist.append(list_1) blist ] ------------------------v.s.--------------------- blist = blist.extend(list_1) #把序列元素先解包,再依次添加到序列最后方 blist 3)insert 在指定位置添加元素 clist = clist.insert(2, '满园春色') #index插入的元素,插入之后的索引值 clist 2、删 4)pop pop up的缩写,默认“弹出”最后一个元素,并返回给调用者,可以通过参数index制定弹出元素的索引值 dlist.pop() dlist #这时list已经移除pop中项 5)remove 移除参数在列表中第一次出现的值,参数填写不是index是元素本身! elist.remove() 6)del delete的缩写,不是方法,是通用的删除函数 del flist del flist , flist #逐次删除当前列表的第一项 del a #还可以用来删除变量 3、改 glist glist = 555,666 glist glist index = 0 for i in glist: glist = i+100 index += 1 glist --------------------或者-------------------- glist for i in range(len(glist)): glist = glist +100 glist 4、查 7)index 查看列表中参数值在列表中对应的索引位置,返回的是索引值,如果没有会报错。 hlist.index() hlist = hlist 8)count 统计元素在列表中出现的次数,没有则返回0 @可用于判断某个元素在列表中是否存在 num = 9 if ilist.count(num) == 0: print('列表中没有这个元素') elifilist.count(num) == 1: print('这个元素在列表中只出现了一次') else: print('这个元素在列表中出现了很多次') 9)in 不是方法,用于判断某个元素是否存在于列表中 5 in ilist 8 not in ilist 5、顺序 10)sort 排序 jlist.sort() #在原列表中直接进行改变,没有返回值 jlist.sort(reverse=True) #降序排序 11)reverse 对列表进行翻转 jlist.reverse() #在原列表上直接进行更改 等同于jlist
个人分类: 学习笔记|33 次阅读|0 个评论
分享 DAY17:【第2章: Python基础 字符串】 #CDA学习打卡 #CDA数据分析师
大妮tbdt 2024-10-18 09:27
【字符串的使用】 字符串时指以" "双引号或者' '单引号括起来的任意文本。多行字符串用''' '''结合回车(调用结果转换为\n,print可显性看到换行效果)去包裹。 @文本里也有引用,要么单/双引号成对嵌套使用,或者加转义字符\"XXXX\"或\'xxx\'成对使用 !字符串和数值型无法一起计算 字符串的拼接和重复 使用'字符串1'+ '字符串2' 实现拼接前后两个字符串;字符串*n 实现把字符串重复n次 e.g. e = 'go' f = ' ' (e+f)*5 'gogogogogo ' 字符串的索引和切片 字符串中的每一个字符都有一个固定的该位置,可以通过索引值提取出想要的具体字符 字符串 ——注意是方括号! !正数:从0开始的;倒数:从-1开始的 字符串的切片 字符串 ——注意是方括号! !字符串 ,注意是半开区间,开始的位置包含在内,而终止的位置不包含在内(假包含),test 相当于数学中的 @步长设置为负就从后往前倒序切片,注意开始终止也要交换,test '十九八' 转义字符与原生字符串 \n 换行 @'制表符\nobody测试',要保留第二行首个单词nobody的完整,可以再加一个转义字符\,即'制表符\\nobody测试'制表符\nobody测试 \t 横向跳到下一制表位置 \ 反斜线符"\" \' 单引号符 \" 双引号符,"他说:\"你是个什么怪物?\""他说:"你是个什么怪物?" @原生字符串,text1=r 'C:\\Users\\adminastrator\\text.txt',print出来的text1就是原来模样的字符串,不管里面有什么内容 字符串的常用方法 方法 Method:指在对象中封装好的功能,调用方法即对此对象进行处理。 对象.方法(参数)object.method() find():检测子字符串str是否包含在字符串mystr中,如果是就返回开始的索引值,否则返回-1。存在多个时,默认索引出的是第一个找到的字。 mystr.find(str,start=0, end=len(mystr)) count():返回str和end之间在mystr里面出现的次数,否则返回0,可以利用返回值做后续动作的判断条件。 mystr.count(str, start=0, end=len(mystr)) replace():把mystr中的old替换成new,如果count指定,则替换不超过count次,即count设为1,仅替换靠前的一次,后续不会被替换。 !原字符串并不会发生变化,replace之后的可以用一个变量去接收 mystr.replace(old, new ) split():以str为分隔符切片mystr,如果maxsplit有指定值,则仅分隔maxsplit个子字符串 mystr.split('\n') splitlines():按照行分隔,返回一个包含各行作为元素的列表 mystr.splitlines()——效果等同于mystr.split('\n') mystr.splitlines(True)——可以把分隔符保留 partition():把mystr以str分隔成三部分,str前、str和str后 mystr.partition(str) lower():转换mystr中所有大写字母为小写 mystr.lower() upper()::转换mystr中所有小写字母为大写 mystr.upper() strip():不传入参数时,删除mystr字符串两端的空白字符或指定字符(换行符、制表符等),但是只处理两端情况!传入参数时,删除的是两端传入的字符串! mystr.strip() mystr.strip('-').strip('A').strip('k') join():str中每个字符后面插入mystr,构造一个新字符串 mystr.join(str) j_str = '==' j_str.join( ) 'a==b==c==d'——注意插入方向! a ='有蛟龙处斩蛟龙' ' '.join(a) '有 蛟 龙 处 斩 蛟 龙' 字符串的格式化 format() 1)位置对应 text = '亲爱的{},祝您{}快乐,{}'——占位后续填空 text.format('荀先生','春节','万事如意')——直接逐个填充 url = 'http://www. {} .com' url.format('baidu') 2)数字对应 text = '亲爱的{2},祝您{1}快乐,{0}' text.format('万事如意','中秋节','孙先生')——位置数字方式填充 3)关键字对应 text = '亲爱的{姓名},祝您{节日}快乐,{祝福语}' text.format(节日='端午节',姓名='李小姐',祝福语='大吉大利')——键值对方式填充 @先在{}写入变量的名字,然后依次赋值变量也可以 4)精度与类型f '经过我精密的计算,圆周率的值是{:.2f}'.format(math.pi) 3.14——即精确到小数点后2位 5)金额的千位分隔符 '{:,}'.format(1234567890) '1,234,567,890' 6)补充格式化方法 '亲爱的%s,你好吗,今天是第%s日。'%('孙小姐',17) 亲爱的孙小姐,你好吗,今天是第17日。
个人分类: 学习笔记|15 次阅读|0 个评论
分享 DAY15&16:【Python编程零基础入门 - 第1章: 工具安装与说明&第2章: Python基础】 ...
大妮tbdt 2024-10-16 20:55
【内置函数】 在编程环境加载进入之后,自动载入的,可以直接使用的函数。(http://www.runoob.com/python3/python3-built-in-functions.html) 函数的调用方法:函数名(参数) print(): “打印”的意思,指向屏幕上输出指定的文字 ?print() / print? / shift+tab+光标停留在函数上: 查看print函数的帮助文档 print(1, 'dddd', '5555', '你好', sep=':')——默认参数是' '(半角空格) print(1, 'dddd', '5555', '你好', end='----')——默认参数是'/n',/是转移符号,/n是换行符 【Python中的变量】 变量是计算机语言中能储存计算结果或能表示值抽象概念。 !Python是动态数据类型,不需要事先声明,直接赋值就可以使用(=即赋值);因此,变量在使用之前必须进行赋值,Python会根据赋给的值自动判断变量的数据类型;变量可以重复赋值,后面的值会覆盖前面的值,因为改变了变量指向的内存地址! (其实,变量并没有什么类型,变量只是指向了一个内存地址,内存地址中储存了我们的数据,此数据是具有数据类型的)——type() @要理解变量,一定要理解数据在内存中的储存形式:变量只是一个对在内存中储存的某个东西的指引,变量值引得位置可以变化,这时变量的值也就发生了变化。使用变量实际上是相当于在使用变量指向的那个内存地址中的值。 变量的命名规则 1、变量名的长度不受限制,但其中的字符必须是字母、数字或下划线_,而不能使用空格、连字符-、标点符号、引号或其他字符。 2、变量名的第一个字符不能是数字,而必须是字母或下划线。 3、变量名区分大小写。 4、不能将Python关键字用作变量名。 import keyword print(keyword.kwlist)——可见所有关键字列表 同时为多个变量赋值 x, y, z = 3, 4, 5 m = n = p= '哈哈' 变量的交换 x, y = y, x 【标准数据类型】 Python中常用的数据类型 数字 Numbers:整数,浮点数,复数,分数 布尔 Boolean:True和False 字符串 String:Unicode字符序列,在引号内包含 -------------------序列型/集合型----------------- 列表 List:有序的值的序列且值可变 元组 Tuple:有序的值的序列且值不可变 字典 Dictionary:无序的键值对的组合 集合 Sets:无序的不含重复值的序列(没有值只有键的字典) 数字型 - int 整数 整数长度没有限制,通常是连续分配的内存空间。 - float 浮点(小数) +科学计数法(e代表以10为底,后面的数字是次方数字) @除法结果都是浮点数 - complex 复数 实部虚部 - 分数(极少见) 极精确要求时使用包 fractions 数据类型之间的转换 - int() 整数类型对应函数 - float() 浮点类型对应函数 - complex() 复数类型对应函数(实际是产生一个复数) 【数字的运算】 基础运算符 + 加 - 减 * 乘 / 除 // 取整除(返回整数部分) % 取余(返回余数部分) ** 取幂(返回次方) 运算的优先级 指数乘、除、取模、取整除加、减比较运算符等于运算符赋值运算符身份运算符成员运算符逻辑运算符,括号可以提前优先级 比较运算符:= = 等于运算符:== != 赋值运算符:= %= /= //= -= += =*= 身份运算符:is is not 成员运算符:in not in 逻辑运算符:not or and math科学计算库(C语言编写,运算速度更快) import math math.fabs(x):返回x的绝对值,浮点类型 math.ceil(x):取x的上入整数,math.ceil(4.1)返回5 math.floor(x):取x的下入整数,math.ceil(4.9)返回4 math.exp(x):返回e的x次幂,e是自然常数 math.sqrt(x) math.modf(x):返回x的整数部分和小数部分,两部分的符号与x相同,整数部分以浮点型表示 math.modf(3.1415926) ——获得小数部分 math.modf(3.1415926) ——获得整数部分 math.log(x)——默认以为底 math.log10(x) math.log(x,y)——返回以y为基数的x的对数,返回值为浮点型 math.pow(x,y):返回x的y次幂,即x**y 【复合运算符、比较运算符和逻辑运算符】 复合赋值运算符 += 加法赋值运算符 c+=a 等效于 c=c+a -= 减法赋值运算符 c-=a 等效于 c=c-a *= 乘法赋值运算符 c*=a 等效于 c=c*a /= 除法赋值运算符 c/=a 等效于 c=c/a %= 取模赋值运算符 c%=a 等效于 c=c%a **= 幂赋值运算符 c**=a 等效于 c=c**a //= 取整除赋值运算符 c//=a 等效于 c=c//a 比较运算符:返回布尔类型 ==:检查两个操作数的值是否相等,如果是则条件变为真。!区别于=的“赋值于” !=:检查是否相等,不相等为真 :检查左操作数的值是否大于右操作数的值,如果是,则条件成立 :左操作数的值是否小于右操作数的值 =:左操作数的值是否大于或等于右操作数的值 =:左操作数的值是否小于或等于右操作数的值 逻辑运算符 and 与:两边都为真则返回真 or 或:两边有一个为真则返回真 not 非:not x,如果 x 为True则返回False;如果 x 为False,则返回True。
个人分类: 学习笔记|19 次阅读|0 个评论
分享 DAY14:【第3章: 描述性统计分析技术 3.4-3.6】 #CDA学习打卡 #CDA数据分析师
大妮tbdt 2024-10-14 15:07
【概率的分布】 概率分布的作用:用简单的方法解决复杂的问题,通过抽象化找到模式。 概率分布从何而来 - 创造型:从定义公式到概率分布,先有公式后有画图。e.g. 骰子每面出现的概率分布 - 观察型:从概率分布到公式定义,先有画图后有公式。e.g. 很多事件在样本量足够大后都趋向的正态分布 @作为自身研究新建概率分布方法的参考思路 数据的种类 离散:不能无限细分,如城市、物品种类 连续:可以无限细分,如长度、价格 @有些变量可以根据需要在离散和连续间选择,如年龄 常见的概率分布 - 特征定义、应用场景、指标 离散:二项分布、几何分布、泊松分布 连续:正态分布、指数分布 1、二项分布(伯努利分布) 1)特点 次数固定(均为操作N次), 结果可以用成功/失败表示, 每次成功概率相等 ,独立实验(伯努利实验) 2)场景 - 操作N次,其中K次成功的概率 - 概率 P - 操作N次,其中的成功次数 - 期望值E 3)指标 P=nCk*p^k*(1-p)^(n-k) E=N*p 2、几何分布 1)特点 不需要固定N次, 结果可以用成功/失败表示, 每次成功概率相等 ,独立实验 2)场景 - 直到第K次才成功,前K-1次都失败- 概率 P - 预测做几次才成功,评估/控制进度- 期望值E 3)指标 P=(1-p)^(k-1)*p E=1/p 3、泊松分布 1)特点 每一次都是独立事件(独立事件的统计才有意义,才能后续推广使用),结果可以用发生/未发生表示, 任意相同时间范围内发生概率相同 2)场景 一段时间内 ,发生某件事K次(离散)的概率 @事前做成本测算,事后评判事故严重程度 ——营销成本测算,1周内多少人领取奖品 - 期望值E 生产质量管控,1个月坏5次的概率- 概率 P 3)指标 P= λ ^k/k!*e^(- λ ) E= λ λ 是一段时间平均发生次数 4、指数分布 1)特点 每一次都是独立事件, 任意相同时间范围内发生概率相同 2)场景 连续发生两次事件的时间间隔(连续) 5、正态分布(理想状态)与长尾分布(现实常见) 1)特点 二八法则 2)场景 打分、绩效、客群 @不了解样本分布时,通常会采用正态分布进行近似模拟;核心产品/客户分析时,假设为长尾分布,判断二八法则分界点位置 概率分布的应用:分析与决策 - 极端值识别改造长尾分布为正态分布 - 缓解小概率事件的过激反应 - 个人概率(偏保守,因安于现状决策容易滞后) vs 专家概率,减少误差,e.g. 量化金融思维 —————————————————————————————————————————————— 【相关性分析】 多变量/多组数据之间的度量 变量相关关系的判断方法 - 变量相关关系的数学度量——指标 - 变量相关关系的图形表示——画图 - 变量相关关系的显著性检验——模型 变量相关关系的数学度量 1、协方差 Covariance 协方差用以度量两个变量是如何一起变动的,方向(存在正负)强弱(越大越相关)上。 COV(X,Y) = E 一个随机变量与自身的协方差在数值上与其方差相等。 COV(X,X) = E =σ^2(X) 取值范围是负无穷到正无穷。 2、相关系数 Correlation 相关系数用以度量两个变量的线性关系,方向(存在正负)强弱(越大越相关)上。 ρ=两个变量的协方差除以两个变量的方差乘积开根号 取值范围是-1到+1。 @线性无关与独立之间是不同的:如果ρ=0,则两个变量之间不存在线性关系(线性不相关),但并不意味着两个变量是独立的,也可能存在非线性关系。 变量相关关系的图形表示 散点图(scatter plot)是一个在二维坐标中显示两组数据序列观测值之间 线性关系 的图形。 变量相关性分析的限制 - 少数的异常值(Outliers)对变量之间的相关性有极大的影响! - 相关关系不等于因果关系!是否存在伪相关关系(spurious correlation):两个变量间的相关关系反映某个特定数据集的偶然关系,由计算所导出的相关关系将两个变量与第三个变量混合在一起,前两个变量间的相关关系不是来自两者间的直接关系,而是由于它们与最后一个变量有关。e.g. 身高、词汇量与年龄,消费水平、工作时长与薪酬 - 非线性关系,注意尽管两个变量之间具有很强的非线性关系,其相关系数的取值仍然会很低! @对指标画图了解并避免错过如有的强非线性关系 相关分析的应用 用一/多元线性回归模型基于变量间相关性,尝试用1个/n个变量去推导1个未知变量变化的模型,进行预测。 - 注意影响因素的组合处理,因素很多时要明确仅选取合适的(时间包含关系的不应该都放,节假日0或1取值导致非连续和取值稀疏的问题) - 一定要做的变量处理: 消除量纲影响(无量纲指标才适合变量间比较-投射到固定范围内,比如变量减平均值除以方差——结果范围不同但压缩比例相似,优选;或者变量减最小值的结果除以最大值减最小值从而落在0-1之间——结果范围固定但压缩比例不同) 缺失值处理(删除or填补) 离群值处理(均值、相关性都是异常值敏感的) 变量筛选(一般控制在3-5个,保证在可解释可能范围内且交叉重叠可能较小) - 常见注意事项: (一元线性)R^2——y=ax+b中,y的变化有百分之多少可以由x来解释,称为解释度 !从一元到多元,随x变量数量的增加,R^2总归会向上增加,但变量不应该越多越好(成本更高,误差变大,数据间重叠变多) vs(多元线性)调整R^2——增加变量数的惩罚,一般在分母设置一个惩罚函数,比如(n-1),分子增长速度会赶不上分母,这时R^2就会变小 !历史不代表未来,未来是不断变化的,可能发生异常值/黑天鹅事件;获取到的历史数据也不一定能反映全貌 !变量(预测y的各个x)之间可能会有因果关系,例如薪酬和客单价 !看上去很美的过拟合现象,“很完美地把现有数据都落到趋势线上”,R^298%以上之类的,对线性回归样本解释非常充分,但一旦跳出样本外解释性立即大幅下降,做出的结果只能对过去起到很好的总结,但不能很好地预测未来 @偏商业领域,数据较规整,一般合理的调整R^2控制在80%-85%左右;偏社会性学科,用户填写数据多,甚至会对调整R^2要求到70%左右 ———————————————————————————————————————————————— 【统计报表可视化】 =分析可视化=数据可视化 从数据中,做一个图、制一个表、计算一些关键指标 @可视化原则是在简化和完整之间寻找平衡 分类变量:饼图(相对频数)、条形图(多变量) 连续变量:直方图、折线图 两个变量:散点图、条形图、折线图 @选择图形类型考虑三方面: 1)单or多变量 2)分类or连续 3)主题是绝对对比or相对对比 ------------------------------------------ 支持性结论:关键指标结合表(+群切分析) 备查性详表:附录 ------------------------------------------ 集中性:平均值、中位数、众数 离散性:极差、四分位差、方差、标准差 不同情景的可视化 - 流量分析:表格+图形 @pv是点击量,uv是用户数,计算转化率并对其做柱状图 - 流程分析:漏斗图,标签添加指标/数据,也可以右侧附详表 - 累计效果:帕累托图(帮助定位关键节点/曲线折点) - 关键节点分析:长尾折线图 - 转化分析:堆积面积图(产品输送客户能力/产品线分析/产品竞争力分析/客群构成) +加入更多自己的想法:看设计类书籍和收集制作自己的图表集
个人分类: 学习笔记|50 次阅读|0 个评论
分享 DAY13:【第3章: 描述性统计分析技术 3.1-3.3】 #CDA学习打卡 #CDA数据分析师
大妮tbdt 2024-10-13 23:01
【描述性统计分析】 统计学:收集、处理、分析、解释数据,并从中得出有意义的结论的学科。 统计学在数据科学中的应用: 1)分析需求:量化方法确定分析的目的和要实现的目标 2)数据收集:从不同渠道以合理的方式(抽样)获得所需要的数据 3)数据清洗:对获得的数据设定标准和使用规则,进行一致性标准化处理 4)数据探索:利用描述性统计的方法和画图对数据进行计算和分析(集中性OR离散型) 5)结果解释:对于模型的结果进行有效性的判断以及产出合理的解释 6)评估效果:对模型效果进行指标性的衡量,并从中得出客观结论 统计分析方法体系: 方法论 1、数据用于描述性统计:对已有已知方法,做数据处理和数据抽象,多为数据分析内容 总体(全体客户):整理及展示总体,计算总体特征值(参数),解释总体特征值 ------------基于总体进行随机抽取------------ 样本(部分客户):整理及展示样本,计算样本特征值(统计量),解释样本特征值 @描述性过渡到推断性,部分样本能否代表总体,能代表百分之多少,代表有多大信心 2、数据用于推断性统计:对已有判断结论,做数据验证,多为数据挖掘内容 置信区间、假设检验、离散点分析、回归分析 3、概率论 4、应用 程序图 总体(所有客户)- 样本(部分/代表)变量(字段/指标) - 样本数据 - 整体描述(图表、统计量) -推断- 总体参数 总体 - 变量 - 总体参数 @循环往复,总体-分析 OR总体-样本-分析-推测总体 分析方法与业务场景的结合: - 了解客户:客户画像精准营销、客户生命周期管理、客户行为分析 - 了解产品:竞争力分析、关联推荐、风险监控、预测 - 人工智能:文本识别、图像识别、语音识别(规则-based,总结规律,即描述统计的过程) - 安全监控:反爬虫、欺诈行为监控、异常数据识别 描述性统计的作用: 历史/现有数据特征的收集-归纳-分析-结论 1)对比对标:横向对比(和别人比)纵向对比(和自己比),体现绝对/相对差异 2)图形法:既呈现直观效果,还可基于曲线取值(定位关键节点) 3)群切分类:定位问题群体,按APP/PC、年龄、产品线…… 4)统计比率:生成更好的指标继而更进一步描述数据 ———————————————————————————————————————————————————— 【概率与频数】 “在结果出现之前,一切都只是可能” 随机性:无法预测一件事情的结果; 规律性:大量的随机事件放在一起,表现出一定的规律性。(大数据技术) 真实世界的不确定性 概率:对时间发生的可能性的度量,一般以一个在0到1之间的实数,表示一件事件发生的可能性大小。 - 古典概率学派(频率学派):观察基于客观结果再验证,认为事件本身具有某种客观的随机性,属于后验概率 - 贝叶斯学派:观察基于主观判断在不断修正,认为观察者不知道事件的结果(薛定谔的猫),先验概率 贝叶斯公式:P(B|A)*P(A) = P(A|B)*P(B) 其中: P(A) 历史所有联谊中互联网公司的比例——先验概率,基于事件发生前过往经验 P(B) 历史所有联谊中相亲成功的比例——先验概率 P(A|B) 在相亲成功的案例里面,联谊对象是互联网公司的比例——条件概率 P(B|A) 和互联网公司相亲联谊,成功的概率——后验概率 概率的作用: - 通过先验概率,总结过去 - 通过后验计算,预测未来 - 为决策提供判断依据 得到概率的方式: 客观判断(等可能事件、频数)——数据可能受不够多不够全影响 主观判断——结论可能受个人主观判断或经验不足影响,波动性更大 @陌生小众领域问题,暂时无法掌握数据时,先用有经验者的主观判断暂时解决问题,再拿到数据后再慢慢过渡到客观判断。 频数统计: 频数与频数分布是在数据分组基础上形成的概念,总是在具体的分组设置前提下对总体数据分布特征的描述。 - 频数(Frequence)是落在某一特定分组中的数据个数,也称次数,是数值形式。频数一要是具体的数据分组,二要是落在该组中的数据个数。 - 频数分布(Frequence Distribution)是由各组的频数组成的一个数组,一般需要用统计图(直方图、折线图,相对频数用饼图)或统计表的形式展示出来,反映总体的频数分布特征。 - 相对频数(Proportion):各组数据个数(频数)占数据总数(各组频数之和)的比重,为频数的相对百分比形式,又称频率,用于更直观地看到每组数据间的差异。各组比例之和等于100%。 - 累积频数(Cumulative Frequence):按照各组数据取值范围高低顺序,逐组依次累加得到的一组频数。累积频数表明在某一数值水平以上(以下)总共包含的数据个数。e.g. 20岁以下10个,20到30岁8个 = 30岁以下18个 - 累积相对频数:最后一个值一定是100% —————————————————————————————————————————————————————— 【数据的度量】 广义数据类型: 1、2属于离散型,3、4偏连续型,3本质是离散,4是连续型 1、分类尺度 Nominal Scale 按照某属性对事物进行平行分类(等于OR不等于),e.g. 性别、地域 - 按类别统计 - 二进制(T/F) - 类别无差别 2、顺序变量 Ordinal Scale 对事物类别间等级或顺序差别的测度(大于OR小于),e.g. abcde——相比1增加了排序 - 排名 - 尺度 - 排序是主观的 3、定距尺度 Interval Scale 对事物类别或次序之间差距的测度(加OR减),1 2 …… 10打分——相比2增加了数据的含义或者说距离 - 整数 - 没有基准 - 空间值相等 - 客观和离散的 4、定比尺度 Ratio Scale 对事物类别或次序之间差距及差别程度的测度。(乘OR除)——相比3增加了测量概念 - 由基准的间隔数据 - 空间值是连续的 数值变量类型:顺序变量、分类变量、数值变量 数据的度量: 1、集中趋势:位置分布 ——平均数(易受极端值影响,偏态分布代表性差)、中位数(一定要先排序,大样本会繁琐,适用偏度较大时)、众数(数据量较少不宜,可能不存在或不止一个,可用于定性,作为分类数据的集中趋势测度值) @均值是观测值的重心;中位数是观测值的中心;众数是观测值的重点 @实务中三种指标的选择依据:相比中位数和众数,平均数对离群值非常敏感;当待分析的数据集合中,可能存在明显区别于其他数据的取值,中位数和众数的结果会更有意义,也可以补充平均数对比了解数据分布情况 ——分位数:中位数即50%分位数 @群体大,考虑10分位;排除异常值,考虑1/4和3/4分位 2、离散(离中)趋势:分散程度、一致性 数据的离散程度是反映各变量值远离其中心值的程度。数据的离散程度越大,集中趋势的测度值对该组数据的代表性就越差;离散程度越小,其代表性就越好。 ——分类数据:异众比率(相对众数的少数占比),类似大股东持股40%,可判断众数是否具有代表性 顺序数据:四分位差(相对分位值,1/4和3/4分位差多少,排除极端值) 数值型数据:方差及标准差(每个点到均值的距离) 相对离散程度:变异系数(离散程度结合集中度,用于100万减少1万vs100块减少10块时) 集中趋势与离散趋势的综合 变异系数(Coefficient of Variation): 也称离散系数,是一组数据的标准差与其相应的平均数之比。——量纲消化掉或计算波动比例 @变异系数是测度数据离散程度的相对统计量,是一个无量纲的量,主要用于比较不同样本的离散程度。 @变异系数大,说明数据离散程度也大;变异系数小,说明数据离散程度也小。 @当平均数接近0时,离散系数的值趋于增大,此时必须慎重解释! 切比雪夫不等式: 数学期望E(X)反映了随机变量X的平均值,而方差D(X)刻画了随机变量X的取值对数学期望E(X)的离散程度。在已知E(X)、D(X)的情况下,可以利用切比雪夫不等式近似估计随机变量的概率分布。 -如果数据接近正态分布,约68%的数据项与均值的距离在1个标准差之内,95%的数据项与均值距离在2个标准差之内,几乎所有的数据项与均值的距离在3个标准差之内。——取值大致落在哪个区间范围内的估算方法 3、偏态和峰度:对称/非对称形状 ——左偏分布:均值-中位数-众数 对称分布:均值=中位数=众数 右偏分布:众数-中位数-均值
个人分类: 学习笔记|24 次阅读|0 个评论
分享 DAY12:【第2章: 数据化业务指标体系设计 2.4-2.6】#CDA学习打卡 #CDA数据分析师
大妮tbdt 2024-10-12 18:24
【预警类指标】 客户场景有三个,获客(“客户从哪来”)-营销(“怎么让客户在这里花更多钱”)-预警(“希望客户不要流失”) 流失预警场景下,最关注的是尽量提前知道客户什么时候走(主要)为什么走(次要)。 注意,客户流失不等于业绩流失,往往不是同时发生的。 具体现象是, 客户选择时间点不等于客户想离开时间点,同时快速的新客的增长可能会掩盖老客的流失变多。 - 客户什么时候做选择:通过指标或方式挖掘出直观可见的时间点 - 让客户少做选择:流程再少一点 常用流失预警指标: - 高频行业(外卖、共享单车,7天作为活跃及流失期限,关注个体行为) 交易类指标:交易额、交易次数、客单价 - 低频行业(投资理财、奢侈品、电器、电子产品,拿到数据量较少,关注群体行为) 反馈类指标:活动响应率、电话接通率、社群反馈、登录/浏览/签到打卡 指标比较:横向(同类客群的偏好),纵向(边际交易额变动) - 挽回可行性 是否还有联系:余额、高额促销、未清空购物清单(精心挑选的价值) @高额促销力度实际按流失客户新客稳定老客依次递减 时间:呆滞时间、资金交互时间(最近一次)、交易时间集中度 客户流失潜伏期识别:画图后找出“套路性”的异常,包括1)散点图中的“偏离”客户,2)时序图中历史高点式“最后狂欢”消费行为(可能波动规律可能流失) ! 有规律的模式才是有意义的 - 绘制客户行为模式曲线:关于过往经历(购买、登录等体现出客户行为的),流失潜伏研究的是3-9个月的客户(12个月VIP场景) - 提取曲线的相似因子:识别偏离异常,总结波动、突兀消费等特征 - 预测突发事件:定时防守(长期会员续费)、社群防守 ———————————————————————————————————————————————————— 【产品类指标】 产品特征:收集容易、比较少(最多几十个)、按自身产品设计一步到位 - 期限特征:短/中/长(日周月季年卡),固定开放窗口/非固定开放窗口(季节限定、最后一次销售) - 门槛特征:引流产品(量大价格低,例如1元课)、过渡产品(单门课,中间价位看看效果可能不是最划算的)、盈利产品(创造利润用,例如终身卡) - 现有产品重合度:互补产品(手机+手机壳)、强势产品(华为5G)、试验产品(非主营产品为了拓宽领域)——适用于设计新产品和考虑旧产品下架,新产品上架后的目标客群(是否与现有产品形成竞争),旧产品下架是否会有客户流失,若有,新产品能否承接旧产品的流失等 - 颜色、形状、价格、生产日期、保质期…… 客户覆盖率及产品线竞争力分析: 面积图(百分比堆积面积图)列举产品(线)及对应的不同客群的客户覆盖率 分区柱状图列举不同产品/用户的平均消费金额、下单频次和客单价波动性,分出“低价高频产品”、“高价低频产品”、“尾部产品”等,衡量客户消费稳定性——产品/用户分析都是特征性研究 饼图分析各产品和新产品的客户来源占比,共有客户重叠率、新客增长率,看产品同质性 @判断新产品是否成功:新产品要区分拉新和非拉新产品,如果拉新产品,大部分客户是新客就是成功的;非拉新产品由旧客作为客户主体,要关注价值(利润率/单价)是否比原来旧产品有上升——还可以通过预判和实际结果比较,看产品定位是否准确 产品上下架对业务影响预测:根据分析方法和思维模式来展开 - 产品间转化:多使用面积图(体现产品间客户的流动),饼图(体现客户来源的分布 ) - 客户群体变化:多使用漏斗图(看每一环节留存情况) e.g. 产品N上线,希望增加销售额 @提升销售额可以通过更多客户or让客户花更多钱(提高消费频次or提高消费金额) - 产品特征对应的用户行为 - 1)(老客)A类用户:其他产品线转化过来,消费额提升——优质用户 2)(老客)A类用户:其他产品线转化过来,消费频次提升——优质用户 3)(老客)C类用户:其他产品线转化过来,消费额/频次下降——不理想用户 4)外部新用户:越多越好——关注留存率和长期质量 @预测A类、C类和新用户的规模和比例,与实际情况比较,对两者不符部分进一步分析,是否产品特征判断错误、需求把握不准、宣传推广问题…… ———————————————————————————————————————————————————— 【运营指标体系设计】 注意事项: 1)数据不足的地方:概率化的定性分析,尤其新客户场景,可以通过认为定标签,或者补充平均值、最小值等——补 2)数据过多的地方:分层定量,调整逻辑层次将总量降下来,比如销售额可以按订单数*人数*单价,也可以按客群A+客群B+客群C——拆 3)视角转换:指标的加减乘除,例如销售额/客户数=客单价才是我们更关注的指标,转换为我们当前的KPI的角度 4)波动率监控:波动太大会造成预警灵敏度过高(狼来了)或者太小一直跳不出范围会失去观测意义,都不是好的指标 指标的展示:表+图+图形说明,列常设为群体性元素(产品、客户、其他)或时间性元素(日、周、年),行常为指标,可并列、总分/分总、公式拆分 监控类指标设定:指标名称、数值(变动的)、异常程度(无/轻/中/高)、主要异常因子Top5(xx产品线)、可能原因(根据历史经验)、关闭提醒原因(短期内已知先忽略) 建议结构: I. 报表说明部分 数据来源、模型说明、定义阐释 范围、面向对象、包含时间、制表人 II. 报表主要内容部分 并列——不同主题 总分——从整体到群体 指标+表 or 表+图 or 图+文字说明(从解释到结论)——避免单一元素 III. 报表结论部分(选用) @字体加粗、颜色高亮、注释、框突出,可以更加吸引人 @I部分说明中增加当前异常指标,快速了解异常内容 指标与图表的组合: 直接型指标:了解现状 间接型指标:公式拆解 原因型指标:群体对比 - 偏原因重过程 预测性指标:命中率 - 偏预测重结果 ——两两为组,搭配使用 分布型图表:面积图、折线图 特征型图表:条形图 ——常用于结果展示 差异型图表:多元折线图、多组条形图 ——常用于活动总结 信息型图表:雷达图、散点图 ——常用于客户特征分布或当下状态均衡程度 汇总与明细的平衡: 汇总数据:绝对值同样重要,横向对比(关注表现)vs纵向对比(关注变化),区分同比(季节性)与环比(连续性变化,用于新业务或重大变化),识别明显差异再下钻数据,定位原因 明细数据:验证式信息(支持/备查)、补充式信息(更详尽或细分角度) !全部是汇总数据,看的人已无法验证数据,缺乏信任,补充定位明细数据也缺乏渠道;报表中放置太多明细数据,相当于将结论推给看的人去做,阅读耗时没有重点
个人分类: 学习笔记|16 次阅读|0 个评论
分享 DAY11:【第2章: 数据化业务指标体系设计 2.1-2.3】 #CDA学习打卡 #CDA数据分析师
大妮tbdt 2024-10-11 23:02
【数据化指标体系】 可用于更有效地管理业务,发现问题解决问题或进行预测,制定一整套的数据运营监控体系。 - 指标“是什么”:定义含义(简单不绕口、有业务价值),广义上的数值(取值范围、单位、性别这种静态或交易次数行为这种动态的波动性)——为了第三步中更好地去选用 +注册时间、年龄这种往往与时间有关的半动态指标/规律变化的动态指标 @静态指标更多适用于客户和客户之间的差异;动态指标更多适用于一段时间内客户行为变化 - 指标“从哪来”:直接的定义/补充OR间接筛选提炼/计算组合 - 指标“怎么用”:针对场景或业务话题筛选应用 1、合适的角度 不同的岗位层级,对数据的需求形式,包括信息量、颗粒度(详细程度,从每一条到群体分组到总量,数据条数递减,颗粒度变大,越来越概括)以及呈现方式等,都有所不同。实务中针对性的呈现方式应该分多层级进行展示。 @拿到的数据颗粒度越细,越有助于了解数据全貌。注意,粗颗粒度已经无法反向推导细粒度的细节信息,但是需要的了解时间更少。 常见对象划分: - 管理层(管理面广且时间少):概括的,核心的(粗颗粒),呈现方式为信息点突出 - 有代表性且核心突出的,波动性强的指标 @首页看板为业绩相关的主核心指标,WOW或DOD变动,上升下降趋势,明细数据按ta关注的适当大块业务分组,勿太细,应考虑对方关注的组织架构层级 - 运营团队(关注整体细分,不同时间点的变动):钻取式分析(横纵向维度切入),逻辑感,多层次 - 强逻辑关系的多指标 @基本指标总览+影响因素分解模型,帮助其后续原因定位和通用建议的工作需要,仪表盘更有逻辑层次感,涉及指标也更多(e.g. 有效订单占比,人均单量,新客/老客规模变化等),用以解释业绩变化的来由,“怎么来的”“由什么来的” - 一线业务团队(与ta相关):详细,及时,可操作性 - 满足业务决策更新频率的指标 @相对颗粒度最细,只关注自己的业务半径内,用于指导其本人的工作,一般根据预设维度切分展示 2、合适的维度与对标 数据本身是流动的,有对比才有发现,才能产生数据意义。 - 合适的维度: - 结果维度(衡量好不好):客单价、转化率、交易量…… - 操作维度(衡量怎么做好):渠道、种类、平台…… - 横向对比:同一时间点下看不同样本的表现好坏,即一个时间段内不同样本的竞争力 - 纵向对比:同一样本下看不同时间点的发生变化,即同一个样本在时间线上的发展性 ———————————————————————————————————————————————————— 【获客类指标】 获客场景:所有和客户互动相关的必有场景。获客即新客户的获取,与客户接触的第一个环节,对客户的了解相对比较少,关注如何快速拿到客户信息或基于少量信息情况下获得客户信赖。 - 客户从哪儿来:接触客户 流量(粉丝数、观众数)、费用(渠道)、费效比 - {重要} 能不能留得住:购买转化 质量(首次购买、复购)、成长性、成长周期 常用获客指标: 1)收入:带来质量和价值,更注重构成 - 平台:PC、APP - 客户:新客、老客(多久的) - 产品:高效产品驱动型(利润高,客户关注产品质量)、引流产品驱动型(利薄拉新,羊毛党客户)、均衡贡献型(引流+高效,产品的主体,密切关注客户)、活动驱动型(活动导向,价格敏感,活动通知) 2)成本:流量的价格,最复杂和不准确的,一般采取估算,困难主要关于主体、时间和成本与受众的分离 - 获客费用的难点:商业渠道,不同月份用户的成本差异;用户推荐,推荐人和被推荐人的成本分离;其他渠道,预算/新客数的摊销可能不是平滑的 - 促销销售的难点:活动成本,分直接和间接;补贴,奖励券形式容易复算 - 支付费用的难点:充值取现、支付费率 - 其他费用的难点:摊销法,摊销主体确认,整体客户群or新客or老客 3)时效 @1+2做综合指标看(下方举例),3单独看成长性 客户价值(净收入) = 产品收入 - 业务费用 - 营运费用 其中: 产品收入 = sum(各产品的购买金额*各产品对应的收入率),区分产品因为不同产品的利润率不同 业务费用包括获客费用、 促销销售 、展业销售、线下渠道、品牌费用和其他业务费用,注意客户点击前无从选择,无法提现客户特征,不应作为判断好坏客户标准 营运费用包括支付费用、包装成本和其他营运费,客户有选择或与客户行为相关 @促销会拆成两份,一份是作准备工作用,也是客户无感知的,算在业务费用中;另一份作优惠补贴,客户直观可知,算在营运费中——客户价值高低归因时重要 客户的成长性是不同的:成长价值包括成长时间和成长天花板 - I类客户:成长性高 - II类客户:成长性适中,需要促成长手段 - III类客户:成长性较弱,非常依赖促成长手段 @客户成长性曲线图:X轴是时间,Y轴是购买情况,对每条曲线的上下振幅做限制,相似的客户做简单的聚类合并,平均值形成曲线 —————————————————————————————————————————————————————— 【营销类指标】 面向所有客户的购买力,组织营销活动,使公司客户价值不断提升 OR 激活潜在流失客户 OR 拉新带来宣传作用 营销越精准越好:成本投入到最有价值的地方去,也就是找到对的客户 @总是关注三要素,成本、收入、时效,都是操作维度指标(如何将业务情境做好),但是各个业务情境下表现方式会不同 - 哪些客户想/会买:意愿问题,“买不买”,0/1中的1 - 会买的客户最多能买多少:能力问题,买的多的 - 1、合适的客户(有意愿、有能力) 2、合适的产品(刺激消费) @促销活动热度曲线,包括互联网的浏览、点击、咨询行为,补充搜索、新闻、微博、抖音,还有领券行为,比较销售额(实际购买)和热度曲线,每周推移的趋势或几个波峰,判断活动开始到实际购买的时间间隔情况,看是否需要跟进调整 1)响应率/衰减周期:前者反应用户反馈或兴趣;后者是(热度max - 热度min)的时间间隔 2)命中率/覆盖率:针对产品和客户的匹配,前者指有发生购买的客户是否都在促销名单里,用来衡量合适的产品,命中率越高说明选择的产品越合适;后者指促销名单是否充分,用来衡量合适的客户;一起看就是产品和客户是否相匹配(互联网公司钱充足看全客户的命中率,成熟业务希望控制成本讨论覆盖率更有意义) 3)销售额提升度:因为本身可能有自然购买,差值可以直接衡量促销效果的指标。需要注意有无其他影响因素(周期性、淡旺季),费效比(GMV陷阱) 4)参与集中度:辅助判断销售效果的指标,剥离极端个例,判断是否覆盖到一定程度的客户 3、恰当的时机(促销的沟通时机时间段) @注意留给客户购买的时间,太短可能来不及反应,太长可能发生行为拖延 - 需要经验积累 @告知客户的时机,可以通过数据分析获取: 1)推送时间 2)推送方式 3)沟通时长 4)跟踪时长 1)和2)因人而异,可以通过调研统计+被动排除法循环;3)和4)因产品而异,容易理解+价格低的产品介绍控制在3-5分钟内,经验隔天、3天、7天跟踪;难理解+价格高的产品介绍控制在15分钟左右,经验3天、7天、15天跟踪 4、效果评估:结果维度指标(业务好不好) 1)直接购买效果:组合推荐,计算组合命中率和单品命中率,差距大代表组合不合适 2)间接购买效果:活动提升的销售额,比较非活动增长和活动增长的比例,按月份划分可以排除月周期性 3)AB测试:只要设置测试组和对照组的都算AB测试,如果做活动的算测试组,没做活动算对照组,对比活动前后客户效果差异,横轴时间纵轴效果,加上整体值一起看比较好,可以排除时间因素作用
个人分类: 学习笔记|10 次阅读|0 个评论
分享 DAY10:【第1章: 数据分析与商业智能 1.3-1.5】 #CDA学习打卡 #CDA数据分析师
大妮tbdt 2024-10-10 22:51
【数据分析思维】 数据分析的本质:发现和解决问题,明确现状与期待之间的落差 数据分析的三种路径: - 现状不如原状:风险已经发生 - 识别-寻因-方案 解决问题 ,找到真正的原因。先做紧急处理,解决表面问题,止损;再找到深层原因,避免复发(要 基于全面事实,使用数据排查,适当分解结构 )。——解决已发生风险 e.g. 金融场景特点,低频高客单价 预防呆滞因素:往往交互多的(进一步优先收集可量化已记录的度量指标去做针对性优化) 促使呆滞因素:往往投入少的 解决问题类在业务增长模型下的通用分析思路:防止客户流失、产品下架、业绩下降 - 现状保持不变:有潜在风险 - 监控-计划 防范风险 ,预防和应对。要确定潜在风险(可能减少或避免损失,也可能带来微弱提升),研究对应的影响因素(常用情景的约定的维度、字段),再确定可承受损失范围,制定策略采取对应措施。——通用化经验判断 e.g. 电商发放补贴带来的业绩增长是“羊毛党”的贡献而非“对的人”,真实ROI是否划算 防范风险类在业务增长模型下的通用分析思路:保持市场份额占比,实现自然增长 - 现状不及理想:追求更好 - 创新 追求合理的理想 ,先明确理想,评估是否值得(要合理,考虑成本和路径),如果合理再做规划性思考,最后执行行动计划。——偏定性的战略分析 e.g. 公司 - 竞争什么? - 提供定制化的产品或服务,满足客户需求 客户 - 在哪里竞争? - 区分公司针对的客户群体 竞争对手/产品 - 如何竞争? - 寻求同竞争对手区别的源头 追求理想类在业务增长模型下的通用分析思路:提高客单价或者购买频次,实现价值提升 数据分析的四个层次: 战略规划 - 内外部数据结合,长期规划的过程。注重方向判断,弱化细节预测。——理想的规划 策略分解- 根据战略和目标,拆解为可以执行的层面。注重KPI设定。——策略的落地 市场营销:活动和获客驱动。注重成本核算、效果预测和事后评估。——对现状的理解 业务运营:关注日常数据。注重监控预警和分析发现问题找到解决方案。 *入门容易,但学习过程中,需要不断补充案例、积累经验,不断熟悉不同场景的分析思路、套路 ———————————————————————————————————————————————————————— 【数据分析常用方法】 结构化的分析方法:事实 + 前提 + 逻辑 = 观点 其中, 1)事实用于总结,是客观的存在,是百分之百成立的; 2)前提为具体场景,是作出推断的依据,是不需要证明的公理; 3)逻辑即思维和方法,是作出推理的规则,本质上是数学; 4)结论作为最后得到的观点,既要有效又要可操作。 观点要求说出论点,并提出论据。 1)事实的提炼:现实情境的数据语言 - 收集型数据:正常业务自然产生的数据——重在最终细节的抽象化 - 区分定性部分:维度,分情况展示 和 定量部分:度量,寻找具体数据 - 创造型数据:事先设计的实验产生的数据,产生数量、取值等都有预期——重在开始设计表格的抽象化 - 选择合理的方案,选择合适的群体对象,最后整理归纳 3)逻辑的推进:逻辑顺序展现了组织思想的分析过程 + 麦肯锡的金字塔原理:主次分明,总结概括 i. 演绎推理:大前提,小前提,结论 ii. 时间/步骤:第一,第二,第三(基本 - 分类 - 实验 - 分析) iii. 空间/结构:上海、北京、深圳(维度) iv. 程度/重要性:最重要,其次,等等(影响因素) @矩阵分析:陌生问题的分析路径,快速熟悉情况,得出初步结论 构建坐标系,用两个变量(因素)作为思考的维度,不明确时先两两组合后挑选 - 选择原点,两象限 or 四象限,离散变量的高低或标签,连续变量的中位数或分位数或平均值 - 基于两/四象限对问题做解剖 - 依据象限而制定的策略即不同情境的结论 @针对2个变量的矩阵分析再进阶 - 增加变量 - 三变量:RFM模型(常用于零售业,研究频次、金额和最近一次购物量);多变量:聚类; - 增加分段 - 多行多列、九宫格 @分解式思考:熟悉问题的定位与寻因,将事物进行分解,从分支去理解整体。每一次分解都是一次推进(总-分),遇到大同小异的方案进行合并,基于最后一层问题开始制定解决方案(分-总)。 ***从论据到结论,往往反馈“太过跳跃,说服力弱”,解决办法还是要增加逻辑性,既有定性也有定量 @结论的表达:根据听众想听什么,满足听众需求 i. 和ta预期一致的结论:扎实的支持论据的 证明 ii. 预期之外的新思路:业务 价值 或者启发 iii. 和预期相反的结论:进一步分析梳理逻辑,连接论点和论据之间的断层的 技巧 , 重在原因说明和提供解决方案 @“唱反调”的技巧:先解释原因,再说明结果。原因要一定要全面(把所有可能性排除掉),详细(逻辑思考过程要完整);结果要和方案一起出现;规避原有预期(不要陷入对错争辩)。 ***特别注意论据到论点的可推导性,从论据如何得到论点一定要有详实的逻辑基础。 ———————————————————————————————————————————————————————— 【实务中的数据分析师】 08:00-08:30 当前需求进度梳理 08:30-09:00 回复邮件 09:00-11:30 轻量级数据处理 13:00-15:00 需求会议/头脑风暴,重量级数据处理 15:00-18:00 数据汇总整理,当天临时性需求处理 18:00-20:00 分析报告撰写 数据分析师:数据部门 业务分析师:业务部门 分析能力要求:商业敏锐度、逻辑思维、执行力、流程管理、沟通能力 但分析要有温度:理解业务、避免从众,避免主观谬误,角度要多样,小概率事件如果发生就更有研究意义 小概率事件一般不发生,如果发生必有反常。 表达有态度也有方法:有保留地说Yes(要有前提),有选择地说No(要有技巧)。 - 简洁简单 - 循序渐进 - 有重点地说明 - 避免直接否定 图表最重要的是让人看懂! - 给老板展示时,纯表格一般放附录 - 不要把太多信息放在一张表格里 - 颜色不要放太多 - 不同图例要易于区分 - 恰当选择坐标轴 - 恰当选择图表类型
个人分类: 学习笔记|12 次阅读|0 个评论
分享 DAY9:【第1章: 数据分析与商业智能】 #CDA学习打卡 #CDA数据分析师
大妮tbdt 2024-10-9 11:34
【数据行业介绍】 (数据)信息的记录- 归纳 - 应用 复杂决策,特别是商业决策(需要调研信息非常多,涉及很多商业活动,周期也长) +《Algorithms to Live By》 云总结:网抑云等 发散性关联性学习方式:WolframAlpha +IEEE CVPR 数据化是大趋势也是不可逆的发展流程: 工作形式:科研 - 互联网- 全行业 思维方式:统计 - 分析 - 挖掘 使用方法:大型电脑- 计算机/笔记本 - 手机 *相关工作技能综合 *现有技能深入理解 使用功能化工具 - 使用可编程工具 - 改善现有模型- 创造新知识 从数据中提取信息、得出结论: 数据分析 - 基于过程,重在思路思维,方法手段 - 同样的输入样本,结论不同(咨询优势) 数据挖掘 - 基于输入(依赖原始数据),重在模型选择- 同样的模型,效果不同(数据量形成质变)!数据不够完善、数据质量不够高、数据;量不够大都会影响最终效果 三种思路: I. 从理论出发,循着框架去运用 II. 从工具出发,了解工具使用过程也是数据分析流程 III. 基于应用场景案例,从解决问题开始了解分析方法 ———————————————————————————————————————————————————————— 【数据应用流程】 数据收集:自身、外部(已打包、脱敏)、爬虫(先了解法律风险)、开放数据集 数据处理:架构、软件、硬件 数据应用:(分析)思路方法-价值,(挖掘)模型-核心信息结论 商业智能:把数据用起来,数据分析/挖掘*数据理解,实现从经验到数据到知识 数据分析的价值: 1. 避免主观谬误“想当然”-客户需求分析、A/B测试、客户调研,定量化客户的需求和反馈 2. 提高判断效率(历史经验形成知识,辅助性信息补充) 3. 易推广,易迭代-结论简明化、关键词式、已概括 - 简明化:结论一定简明扼要 - 结论化:分析的本质目的是从数据中提取价值 - 通用化:分析结果广义上通用化,可在方法或流程上复用 【BI商业智能常用流程】 1. 数据准备:结合问题的理解,对后续步骤做准备 数据粒度(量纲、单位)、汇总维度(按什么划分)、计算字段(是否需要额外处理) 2. 需求评估:从分析到得出结论 使用对象(高层管理关注结论,一线员工关注表现、原因和行动)、应用场景(运营、营销、产品设计等)、关联行动(落地效果) 3. 数据展示:可视化,为结论显而易见,也为后期追踪迭代变化 展示形式(详细or结论、线上or线下)、权限管理(不同层级的组织架构的要求)、刷新频次(保证迭代更新使数据当前有效) 【BI可解决问题】 现状总结、客户需求理解、问题寻因、解决行动、战略计划及预测、发现盲点或创新方向 【常见BI商业场景】 1. 战略的总结和创新:为产品或个人核心爆点-总结客户特点(年龄、喜好、关注),围绕品牌定位再寻找创新点(文化、竞对分析) 2. 客户业务逻辑的理解和总结:收集数据(基本属性、行为属性、体验属性)、识别关键影响因子、量化影响程度 3. 营销活动的计划和总结:触达(接触到客户)、沟通(客户听进去)、购买(实际行动的时间和量)- 活动时间选择(活动设定、客户沟通3-30min和时段)- 目标客户分组(不同客户群体或AB Test)- ROI估算(投入产出比等效果评估)
个人分类: 学习笔记|8 次阅读|0 个评论
分享 DAY8:【第4章: SQL查询与函数】 #CDA学习打卡 #CDA数据分析师
大妮tbdt 2024-10-8 14:43
【SQL查询与函数】 11、 算数操作符(4):+、-、*、/ 比较操作符(9):=、、、=、=、!=或(不等于)、!(不大于)、!(不小于) 12、聚合类函数 AVG:按列计算平均值 SUM:按列计算值的总和 MAX:求一列中的最大值 MIN:求一列中的最小值 COUNT:按列值计数 13、查询SELECT语句:查询指从数据源中提取需要的数据的过程 1)单表查询 SELECT 目标列组 ——即要提取的字段 FROM 数据源——从哪个/哪些数据表来的 ——限定选择条件,where是在分组前对整个数据源进行条件限定 ]——分组及限制分组条件,having是针对group by分组来进行约束的! ];——对查询结果进行排序 e.g. 对大气质量表进行有选择的查询 select city_name, avg(pm25), avg(pm10) from Monthly_Indicator where pm2550 group by city_name, month_key having city_name'北京' order by avg(pm25) desc; @区分group by和聚合函数:group by是分组(类似数据透视表中行列标签下),聚合类函数是按照分组条件来对数据进行汇总计算(类似数据透视表的值里面的) @何时用where何时用group by:在很多情况下两者限定后的执行结果是一样的。一般出现group by就尽可能用having来进行条件限定(一定同时使用,先分组才能分组限定!);如果having限定并不能满足最终的查询需求,此时再考虑使用where;没有group by时用不了having,就只能用where来限定条件 @最后降序排序是desc,升序排序是asc eg1. 查询大气质量表中的全部数据(全选 *) eg2. 查询北京(限定条件)的大气质量数据 eg3. 查询不同月份(分组条件)PM2.5的最大值(聚合函数值) eg4. 降序(排序)查询不同城市(分组条件)PM10的平均值(聚合函数值) 2)多表查询:将两个以上的数据表通过关键字段连接在一起,并从不同表中取不同字段进行查询的方法(实际常见情况) 关键字段:用来连接两表的内容信息能够使其匹配上的字段 - 相连的两表中都需要有关键字段 - 关键字段中的记录信息能够匹配上(名称对不上不要紧) - 最理想的连接状态是两表中的两个关键字段都是主键,而且两个主键的值都能够一一匹配上(避免了空值和重复值),此时用inner/left/right join的结果都一样;实际情况多对一、多对多、有空值、有重复等情况5 - 在连接语句前方的表称为“左表”,后方的表称为“右表”,方向决定了主要参考依据是谁 SELECT select_list FROM 表1 inner/left/right join 表2 on 表1.key = 表2.key @关键字段名只要有重名,就要写明表名;无重名时可以直接写字段名——该规则适用于多表查询中所有字段名表述 14、内连接查询 Inner Join 按照连接条件合并两个表,返回满足条件的行。 SELECT select_list FROM A INNER JOIN B ON A.Key = B.Key e.g. select 学员信息表.*, 学员成绩表.* from 学员信息表 inner join 学员成绩表 on 学员信息表.学号 = 学员成绩表.学号; 15、左连接查询 Left Join 结果中除了包括满足连接条件的行外,还包括左表的所有行。 SELECT select_list FROM A LEFT JOIN B ON A.Key = B.Key e.g. select 学员信息表.*, 学员成绩表.* from 学员信息表 left join 学员成绩表 on 学员信息表.学号 = 学员成绩表.学号; !左表独有部分,右表匹配不上,会在后方列补上空值 16、右连接查询 Left Join 结果中除了包括满足连接条件的行外,还包括右表的所有行。 SELECT select_list FROM A RIGHT JOIN B ON A.Key = B.Key e.g. select 学员信息表.*, 学员成绩表.* from 学员信息表 right join 学员成绩表 on 学员信息表.学号 = 学员成绩表.学号; !右表独有部分,左表匹配不上,也会在前方列补上空值 17、联合查询 Union(即Power Query纵向连接) Union:用于合并两个或多个SELECT语句的结果集,并消去表中任何重复行。 select t1.* from t1 union select t2.* from t2; Union All:用于合并两个或多个SELECT语句的结果集,并保留何重复行。 select t1.* from t1 union all select t2.* from t2; —————————————————————————————————————————————————————— 18、查询操作符:用在SELECT查询语句中,在为查询限定条件时使用 e.g. f_id:水果ID s_id:品类ID(一个品类下有多种不同水果) f_name:水果名称 f_price:水果价格 AND: 用来联合多个条件进行查询,条件与条件间是“和”的关系 条件表达式1 AND 条件表达式2 #用 and 操作符查询s_id为101并且f_id为a1的水果记录 select * from fruits where s_id = 101 and f_id = 'a1'; OR: 用来联合多个条件进行查询,条件与条件间是“或”的关系 条件表达式1 OR 条件表达式2 #用 or 操作符查询苹果或者橙子的相关记录 select * from fruits where f_name = 'apple' or f_name = 'orange'; IN: 判断某个字段的值是否在指定的集合中,如果在集合中,则满足查询条件;如果不在,则不满足查询条件。 IN (元素1,元素2, ... ,元素n) @NOT是可选参数,加上NOT表示不在集合内则满足条件 NOTIN (元素1,元素2, ... ,元素n) #用 in 操作符查询苹果和橙子的相关记录 select * from fruits where f_name in ('apple','orange'); #用 not in 操作符查询苹果和橙子之外的水果的相关记录 select * from fruits where f_name not in ('apple','orange'); BETWEEN: 判断某个字段的值是否在指定的范围内,如果在则满足查询条件;如果不在则不满足查询条件。 BETWEEN 取值1 AND 取值2 @NOT是可选参数,加上NOT表示不在指定范围内则满足条件 NOTBETWEEN 取值1 AND 取值2 #用 between ... and 操作符查询f_price在10元到20元之间的水果记录 select * from fruits where f_price between 10 and 20;——10=x=20 LIKE: 用来匹配字符串是否相等,如果字段的值与指定的字符串相匹配,则满足查询条件;如果与指定的字符串不匹配,则不满足查询条件。 LIKE '字符串' @NOT是可选参数,加上NOT表示指定的字符串不匹配时满足条件。 NOTLIKE '字符串' !字符串参数的值可以是一个完整的字符串,也可以是包含 %(代表任意长度的字符串) 或者 _(仅表示单个字符) 的通配符。 #用 like 操作符查询所有f_id由b开始且字符长度为两位的水果记录 select * from fruits where f_id like 'b_'; IS NULL: 用来判断字段的值是否为空值(NULL),如果字段的值为空值,则满足查询条件;如果字段的值为非空值,则不满足查询条件。—— 常用于验证数据的准确性,是否有空值存在 IS NULL @NOT是可选参数,加上NOT表示字段不是空值时满足条件。 IS NOT NULL #用is null操作符查询所有f_name为空的水果记录 select * from fruits where f_name is null ; DISTINCT: 用来消除重复记录。 SELECT DISTINCT 字段名 #查询fruits表中所有不重复的s_id select distinct s_id from fruits; 19、操作符与子查询的组合应用 子查询:写在()中,把内层查询结果当做外层查询参照的数据表来用,类似Excel函数嵌套 ANY: 表示满足其中任意一个条件,只要满足内层查询语句返回的结果中的任何一个,就可以通过该条件来执行外层查询语句。 #用 any 操作符与子查询语句来查询所有f_id对应的f_price在10元到20元之间的水果记录 select * from fruits where f_id = any (select f_id from fruits where f_price between 10 and 20); ALL: 表示满足所有条件,只有满足内层查询语句返回的所有结果,才可以执行外层查询语句。 #用 all 操作符与子查询语句来查询所有f_price大于20元的水果记录 select * from fruits where f_price all (select f_price from fruits where f_price = 20);——“双重否定等于肯定” EXISTS: 表示存在,内层查询语句返回的不是查询记录,而是一个真假值T/F。如果内层查询语句查询到满足条件的记录(哪怕只有一条就行),就返回真值,否则返回假值;当返回真值时,外层查询语句将进行查询(执行外层查询语句全句,“比较极端”);当返回假值时,外层查询语句不进行查询或者查询不出任何记录。 #用 exists 操作符与子查询语句来查询是否存在f_price大于30元的水果记录 select * from fruits where exists (select * from fruits where f_price 30); 20、as查询中重命名与limit限制查询结果行数 AS: 可以将表或字段名重新命名为别的名称使用, 只在查询中有效 #用 as 将fruits表名重命名为f后使用 select f.* from fruits as f; LIMIT: 查询后只显示limit指定数字的行数结果 #显示f_price金额最大的前三名水果记录 select * from fruits order by f_price desc limit 3; ———————————————————————————————————————————————————————— 21、SQL常用函数 1)常见的数学函数 ABS(x):返回x的绝对值 #使用abs函数求所有水果平均值与最大值差值的绝对值 select abs(avg(f_price)-max(f_price)) from fruits; LOG(x,y):返回x的以y为底的对数 MOD(x,y):返回x/y的模(余数) RAND():返回0到1内的随机值 @可以通过提供一个参数(x),使RAND(x)随机数生成器生成一个指定的值。 CEILING(x):返回大于x的最小整数值(进一取整) ROUND(x,y):返回参数x的四舍五入的有y位小数的值(四舍五入) SQRT(x):返回x的平方根 2)常见的字符串函数 CONCAT(s1,s2, ... ,sn):将s1,s2,…,sn连接成一个字符串 LEFT(str,x):返回字符串str中最左边的x个字符 RIGHT(str,x):返回字符串str中最右边的x个字符 LENGTH(str):返回字符串str中的字符数 #使用length函数求每个f_name的名字与他们的字符长度 select f_name, length(f_name) from fruits group by f_name; 3)常见的日期及时间函数 NOW():返回当前的日期和时间 #使用now函数求当前的日期和时间 select now(); DATE(datetime):返回datetime的日期值 TIME(datetime):返回datetime的时间值 4)其他函数 GROUP_CONCAT(col):返回由属于一组的列值连接组合而成的结果 @常与关键字GROUP BY一起使用,能够将分组后指定的字段值都显示出来 #使用group_concat函数查询不同s_id下对应的所有f_name信息 101 Apple 101 Orange - 101 Apple, Orange SELECT s_id, GROUP_CONCAT(f_name) FROM fruits GROUP BYs_id; CAST():将一个值转换为指定的数据类型 UPDATE ... SET:为字段赋值 UPDATE 表名 SET 字段名 = 值; #使用concat函数在f_name字段值前添加'fruit_'信息 update fruits set f_name = concat('fruit_',f_name) select * from fruits;——查看更新结果 DELETE:删除数据表中的数据 DELETE FROM 表名 !如果省略WHERE则会删除表中所有数据记录 #删除f_id为'b5'的数据记录 delete fromfruits wheref_id = 'b5'; ———————————————————————————————————————————————————————— 【查询练习】 SQL实战中有两类使用方法,一是使用查询回答数据问题,二是使用查询来为今后其他的分析提供完整统一的数据源。 电商数据表E-R图,也称实体-联系图(Entity Relationship Diagram),用来描述现实世界的概念模型。 ​ ex1. 倒序查询卖的金额最多的产品 select goodsid, sum(goodsprice*amout) from orderdetail group by goodsid order bysum(goodsprice*amout) desc; ex2. 查询不同尺码下的产品销售数量 select sizenote, goodsid, sum(amount) from orderdetail left join goodssize on orderdetail.sizeid = goodssize.sizeid group by sizenote, goodsid; @值的来源表作为主要信息提供者,优先设为主表,对其左连接 ex3. 查询不同颜色下的产品销售金额 select colornote, goodsid,sum(goodsprice*amout) as 销售额 from orderdetail left join goodscolor on orderdetail.colorid = goodscolor.colorid group by colornote, goodsid; order by colornote, 销售额 desc;——双层排序 ex4. 查询不同尺码下的不同颜色的产品销售金额 select sizenote, colornote, goodsid,sum(goodsprice*amout) as 销售额 from orderdetail left join goodssize on orderdetail.sizeid = goodssize.sizeid left join goodscolor on orderdetail.colorid = goodscolor.colorid group by sizenote, colornote, goodsid order by sizenote, colornote, 销售额 desc;——多层排序,从前往后逐层排序
个人分类: 学习笔记|36 次阅读|0 个评论
分享 DAY7:【第1&2章: Mysql安装、序章】&【第3章: 数据库、数据表与字段操作】 #CDA学 ...
大妮tbdt 2024-10-7 17:29
【MySQL】 数据库是存储、调用、分析数据的仓库,主要分为关系型数据库和非关系型数据库。关系型数据库管理系统称为RDBMS。 数据库 是表的集合,带有相关的数据;一个 表 是多个字段的集合;一个 字段 是一列数据,由 字段名 和 记录 两个部分组成,记录是实际数据信息。 子商业数据分析中使用的绝大部分数据都来自于企业数据库,企业数据库多为关系型数据库。数据库负责数据收集、数据整合、数据调用等工作。 @几乎所有数据分析工具都支持调用数据库中数据,将所需要分析的数据在数据库中整合、处理和调用是最为理想的,处理后的数据也可被其他所有数据分析类工具所使用的,推广至其他工具中去。 关系型数据库:数据库应用的主流,以行和列的形式存储数据,一系列的行和列组成表,一组表组成了数据库,当前主流的关系型数据库有Oracle、MySQL、IBM DB2、Microsoft SQL Server等。 操作关系型数据库时使用结构化查询语言,简称SQL,是一种数据库查询和程序设计语言,用于存取数据, 计算、查询 、更新和管理数据库系统。 ———————————————————————————————————————————————————— 【MySQL数据库操作】 1、创建数据库:在数据库系统中划分一块空间,用来存储相应的数据 create database {数据库名称}; !每一个完整语句后加上“;”终止符 2、查看创建好的数据库 show create database {数据库名称}; 3、查看所有数据库列表 show databases; 4、使用数据库 use {数据库名称}; 5、删除数据库 drop database {数据库名称}; @注释方法:“-- ”或者“#”之后写注释,注意第一个最后有一个空格 !Excel编码方式为ANSI,MySQL默认编码方式为utf8,两者连接时需要先将编码方式统一! —————————————————————————————————————————————————————— 6、创建数据表 数据表是数据库存储及操作数据的基本单位,承载数据的容器。数据库由多个数据表构成,每张数据表存储多个字段,每个字段由不同的字段名及记录构成,每个字段有自己的数据结构及约束条件。 @表为了在最大程度上保证数据资源的准确、完整以及高效利用,在表中必须严格规定每个字段的相关属性,无论是字段的数据类型还是约束条件,都要严谨对待!创建时必须按业务要求指定设置好! @char(#)--固定长#个字节的文本型字段 varchar(n)--可变长最长为n个字节的文本型字段 #创建并使用test数据库 create database test; use test; #创建员工信息表 create table emp( depid char(3), depname varchar(20), peoplecount int ); #查看表是否创建成功 show tables; #删除数据表 drop table emp; ———————————————————————————————————————————————————————— 7、数据类型 位:bit,是电子计算机中最小的数据单位,每一位的状态只能是0或1 字节:Byte,由8个二进制位构成1个字节,它是存储空间的基本计量单位 数据类型:不同的数据类型具有不同的字节长度;字节长度越长,能取值的数值区间也就越大。 所谓“一把钥匙开一把锁”,字段的数据类型限定了只有与其相匹配的数据信息,才能录入到字段中来,以保证字段的完整性和准确性。 1)整数型: INT() 、TINYINT、SMALLINT、MEDIUMINT、BIGINT,括号里设置最大显示宽度,并不限制实际取值范围和占用空间 e.g. INT(11),包括正负号和十位数 @均存在有(正负)符号的和无符号的。如果在数据类型后加上UNSIGNED属性可以禁止负数 2)小数型: FLOAT(M,D) (4字节,默认为(10,2))、 DOUBLE(M,D) (8字节,默认为(16,4))、DECIMAL(M,D)——M是显示宽度,D是小数位数 @均只能是有符号的 3)日期时间型:DATE、 DATETIME (YYYY-MM-DD HH:MM:SS格式) 、TIME、TIMESTAMP(时间戳,例如20241007153600)、YEAR(2位或4位,2位是1970~2069,4位是1901~2155,默认四位) 4)字符串型: CHAR(M) 、 VARCHAR(M) 、BLOB或TEXT、TINYBLOB或TINYTEXT、MEDIUMBLOB或MEDIUMTEXT、LONGBLOB或LONGTEXT、ENUM @CHAR是固定长度,VARCHAR是可变长度(L+1,需要占用一位存储长度信息),长度为1-255,注意指定的字符串长度M一定要大于实际输入数据的最大长度,这样才能完成保存输入数据信息 - 数据长度不一时,优先选用VARCHAR;长度出入不大时,CHAR比VARCHAR运行效果更佳 ———————————————————————————————————————————————————————— 8、约束条件 约束条件是在表上强制执行的数据检验规则,可用来保证创建的表的数据完整和正确性,类似不同大小筛眼的筛子。 1)PRIMARY KEY 主键约束:主键又称主码,是数据表中一列或多列的组合。主键约束要求主键列的数据必须是唯一的并且不允许为空, 非空和唯一 ,保证表中每行记录都不重复。使用主键,能够唯一的标识表中的一条记录,还可以加快数据库查询的速度。 字段名 数据类型PRIMARY KEY - 单字段主键 e.g. depid char(3) primary key, - 多字段联合主键 e.g. primary key(depname, depid) 2)NOT NULL 非空约束:要求字段的值不能为空, 非空。 字段名 数据类型NOT NULL e.g. depname varchar(20) not null, 3)UNIQUE 唯一约束:要求该列的值必须是唯一的, 唯一;允许但只能出现一个空值; 一个表中可以有多个字段声明为唯一的,确保数据表的一列或几列不出现重复值。 字段名 数据类型UNIQUE e.g. peoplecount int unique 4)AUTO_INCREMENT自增字段: 一个表只能有一个自增字段,必须为主键的一部分, 默认从1开始自增,步长为1 字段名数据类型AUTO_INCREMENT e.g. #创建整数型自增主键 id INT PRIMARY KEY AUTO_INCREMENT 5)DEFAULT 默认值:当插入记录时,如果没有明确为字段赋值或空值时,系统会自动按默认值填充赋值 字段名 数据类型DEFAULT 默认值 e.g. depname varcahr(20) default'-', @标准SQL用''单引号引用字符串,MySQL拓展至''或""单双引号皆可 @desc {表名}——可见按字母排序后各字段的数据类型及约束条件 —————————————————————————————————————————————————————— 9、向数据表中填充数据 1)(手动录入)insert into: insert into 表名(字段1, 字段2, ...)values(),(),(), ... !字段排列顺序要与建表时建立字段顺序一致 e.g. #插入数据 insert into fruits(f_id,s_id,f_name,f_price) values('a1',101,'apple',5.2), ('b1',101,'blackberry',10.2), …… ('b5',107,'xxxx',3.6); 2)(外部数据源文件批量导入) e.g. #为Monthly_Indicator表导入外部txt文件,按 绝对路径 (左斜斜杠分隔) ,指定 Tab制表符 为分隔符,忽略数据文件中第 一 行(字段名) load data local infile ' 文件路径.txt ' into table Monthly_Indicator fields terminated by ' \t ' ignore 1 lines; 3)从企业数据库直接导入:先联系数据库管理员授权权限 - 检查表数据:对导入表中的数据一般从导入内容、导入数据总行数以及表结构三方面进行检查 e.g. #检查导入内容Monthly_Indicator Select * from Monthly_Indicator; #检查导入数据总行数Monthly_Indicator Select count(*) from Monthly_Indicator; #检查表结构 Desc Monthly_Indicator; @主键选择需要保证聚焦明确分析对象的描述条件,需要考虑是否多个主键以限定 ———————————————————————————————————————————————————————— 10、修改数据表 修改数据库中已经存在的数据表的结构,包括修改表名、修改字段数据类型或字段名、增加或删除字段、修改字段的排列位置等。使用alter table语句进行修改。 e.g. #将数据表emp改名为empdep alter table emp rename empdep; #将数据表empdep中depname字段的数据类型由varchar(20)修改成varchar(30) alter table empdep modify depname varcahr(30); #将数据表empdep中depname字段的字段名改为dep alter table empdep change depname dep varchar(30) ; #将数据表empdep中dep字段的字段名改回为depname,并将该字段数据类型改回为varchar(20); alter table empdep change dep depname varchar(20); #为数据表empdep添加新字段maname,新字段数据类型为varchar(10),约束条件为非空 alter table empdep add maname varchar(10) not null; @change相对modify,可以同时修改数据名(重新命名)及数据类型,只需要修改数据类型就用modify #将数据表empdep中maname字段的排列顺序改为第一位 alter table empdep modify maname varchar(10) first ; #将数据表empdep中maname字段的排列顺序改到depid字段之后 alter table empdep modify maname varchar(10) after depid; #删除maname字段 alter table empdep drop maname;
个人分类: 学习笔记|35 次阅读|0 个评论
分享 DAY6:【第7章: Excel商业智能分析报表初级案例】及【第8章: Excel商业智能分析报表高 ...
大妮tbdt 2024-10-6 21:38
【财务杜邦分析仪】 46、下层指标贴近业务,从下层指标找到影响变化的原因,从原因点做出指导业务决策,改善下层指标趋势,从而改善上层指标优化。 @添加环比变化及图标集,可知本月趋势变好变坏 @连接图片形式粘贴:只支持单元格(组),图片里的数据可以随变化同步更新 + 图表想实现相同效果,需要复制图表下方的所有单元格区域(利用Shift+方向键选取) !控件之列表只支持竖向罗列选项 @Offset设置对齐原表的行数数字辅助列,是对人为制作的原表的一次核实,保证数据分析过程的准确性 @=IF(ISERROR(K2-L2)/L2,0,(K2-L2)/L2),嵌套一层Iserror可以保证当除法计算分母为零时,跳过计算报错,直接返回0值 @滑珠图:条形图结合散点图,条形图是每行103%的数据做出来等长“细轴”,散点图的横坐标是指标各行数值,纵坐标分别为0.5/1.5/2.5/3.5/…,就可以让各值形成滑珠落在细轴上 —————————————————————————————————————————————————————— 【销售管理分析仪】 47、 销售漏斗分析 是 关系型销售运营管理 (需要长期维护销售关系)中最为重要的分析方法,科学反映商机状态以及效率的重要的销售管理模型。 销售漏斗从发现商机开始到最终与客户成交为止的销售周期,按不同销售进度分为潜在、接触、意向、明确、投入、谈判、成交的销售阶段(具体依据企业经营模式不同而不同),进而对每一个销售阶段进行精准管理。销售漏斗管理的目的是让每个阶段的销售商机都尽可能顺利地过渡到下一个销售阶段,只有将每一个销售阶段的商机管理好,才能实现尽可能多的销售机会,靠近漏斗的最底层,达成企业销售最大化的目标。本质是企业风险管理,直接关系企业的盈亏状况,是企业销售环节的生命线。 环节分析的目的是提前发现各种销售阶段潜在的商机以及隐藏的风险,在通过分析将风险明确化,以指导销售人员及时做出销售策略调整(补充新商机OR现有商机尽快推进),达到销售资源最优化和商机资源转换最大化。 销售管理分析仪可以帮助洞察环节风险,快速掌握问题所在,快速做出商业决策判断,得出详细结论,做出明确对策。 销售管理分析多维度模型:Power Query连接多部门多数据源,Power Pivot搭建统一模型 - 客户维度 - 产品维度 - 地域维度 - 销售维度 - 渠道维度 - 商机维度 !销售直接关系企业营收,营收又是企业的生命线 !涉及业务活动多,还涉及渠道或合作厂商的外部维度 !主要管理维度是商机维度,由销售人员手动录入,有主观因素和分析难度 - 了解业务特点,理清业务流程 1)设计思路 - 故事序章:仪表盘展现总体趋势问题 - 地域维度达成率 - 产品维度达成率 - 行业/领域维度达成率 @到达高阶段的商机是销售管理者最为关注的指标,“阶段4以上”是已明确客户购买意向的商机 - 达到1.5倍以上的销售目标值才预计可以完成本期销售目标;“阶段5以上”是销售成本投入阶段为与某客户达成成交目的(具有分配销售人员、搞好销售关系、投入资金和人员的支持) - 达到1.2倍以上的销售目标值才预计可以完成本期销售目标 2)设计思路 - 故事展开:瀑布图展现各阶段占比情况 了解高低不同阶段商机占比情况以及商机金额总量的数值情况。如果低阶段商机过多,说明商机向高阶段转换时比较乏力 - 间接标明销售人员需要积极把手头现有商机向前推进;另外若是商机总量总值过低,说明商机总量不足- 做出补充新商机进来的销售决策 3)设计思路 - 故事高潮:动态的组合柱状图形成周变化图了解单个销售阶段商机构成,目的为上一步最终决策提供数据依据 3)设计思路 - 故事尾声:了解细节 对详细信息进行总结,可供销售管理者对某一个销售人员做出更为细致的销售指导,使得大的销售策略方便更顺利地展开 ——————————————————————————————————————————————————————
个人分类: 学习笔记|20 次阅读|0 个评论
分享 DAY5:【第6章: Excel高级数据可视化方法精讲】 #CDA学习打卡 #CDA数据分析师
大妮tbdt 2024-10-5 21:53
【数据可视化分析方法】 38、对比分析 1)纵向对比:时间序列分析,同一指标不同时间下的变化趋势(不同间断分散的时间段用柱状图,连续连贯密集的时间点用折线图) 2)进度分析:展现目标完成情况的分析方法,仪表盘、图标图、温度图、游标图、方块图…… 3)横向对比:在同一时间下,部分与总体,部分与部分或是对象与对象之间的对比,常用饼图、环形图(横向占比对比,部分与部分)、条形图(横向值对比,部分与总体)、分段折线图(横向趋势对比,对象与对象)等 @与纵向对比的区别:纵向是不同时间条件下同一指标的对比情况,横向是同一时间条件下不同指标之间的对比情况 4)标准值、平均值及计划值之间的对比,图表类型选择灵活 @子弹图,常用于平均对比分析 @Excel簇状柱形图适用于实际值与计划值(非定值)对比 5)同环比分析:同比即本期值与同期值之间的对比;环比即本期值与上期值之间的对比,常见簇状柱形图或折线图, 增加图标集 @一定要考虑业务场景去设计才有实际意义,例如餐饮业的额星期比日期更具有周期性意义 6)预警分析:用KPI分析、预警色填充单元格等方式对关键指标进行预警,了解关键值的变化及好坏程度。 7)***透视分析:使用数据透视图表功能进行多维度、多层次、多规则的透视分析,通过对观测指标的洞察,理解及掌握指标背后的实际业务情况及风险。 39、结构分析 1)构成分析:部分与整体间构成关系的分析方法,常见漏斗图、瀑布图、滑珠图、饼图、环形图等。 2)杜邦分析:不仅适用于财务指标分析,而且可扩展延伸至各种关键指标间有明显结构关系的业务分析中使用。 40、其他分析方法 1)变化分析:反映同一指标或多种指标状态及数值变化情况的分析方法,常见组合图表、指标构成图等,是一种动态分析方法,要结合自身实际业务情况,尽可能直观地选择合适的图表对变化中的指标(观测值)进行展现 2)分组分析:用来展现关键指标在不同区间(组距)内的分布情况,常见直方图 3)增维分析:将不同类型的图表嵌套使用的方法,达到增加信息展现维度,扩展分析广度的目的,例如折线图与环形图的嵌套图表 —————————————————————————————————————————————————————————— 【专业自定义图表创建及和应用方法】 数据可视化:通过对数据的图形化展现来直观快速地传递复杂的数据信息,体现数据之美的手段。数据分析人员通过使用数据可视化技巧来令数据变得好看(一层是容易看容易理解的意思,另一层是美观赏心悦目的意思)。因为人类对视觉信息更强的认知水平,好看的图表能将信息准确、直观、生动地传递给阅读者,不仅能帮其迅速理解图表意思,把握关键信息,还能加深其对图表的印象,达到过目不忘的效果。在实际应用中,好看的图表能帮助决策者快速把握业务情况,并在重要的商业决策中做出正确判断。 41、自定义图表:为了增强图表可视化能力而应用的一种方法。 1)不是图表的图表制作方法:使用Excel基本制图功能之外的功能创建的数据可视化图表,即迷你图表。迷你图表多与报表中其他单元格数据结合使用,表格+ 迷你图表的同时使用的报表,不仅能直观传递可视化信息,还能完整精确地传递数据信息,达到“表图合一”的效果。 2)嵌套图表的制作方法:将主图表与其他图表或其他图片、图形嵌套在一起形成的新图表,目的一是为了改变原有图表的展现形式,二是为了增加原有图表的展示维度。 - 半圆形仪表盘(亲切感,会展现深刻认知,突出重要性使用) - 多维折线图(扩展维度) 3)基本图表的再创新方法:以改变Excel基本图表的格式及引用数据源数据排列规则等方式来改变设计意图的展现形式,需要清晰的设计思路和灵活的展现技巧。 - 瀑布图(堆叠柱形图+下层占位部分无填充颜色) - 分段折线图(看得更为清晰,数据分组分拆成三列错开) —————————————————————————————————————————————————————————— 【交互式图表制作及应用方法】 42、交互式图表:又叫动态图表,指能够随时响应用户操作指令,改变展现结果的图表。图表从静态变为动态后,分析的深度和广度都将得到质的改变。 1)切片器与数据透视图的组合应用:用切片器直接控制透视图表(适用于2010版本以上带切片器的透视图表) 切片器创建方法:选中需要关联的数据透视表或图,插入-切片器,为切片器选择字段(字段可多选) @按住Ctrl键点选支持切片器选项多选 @切片器可占用区域小又希望完整展示所有选项时,可以右键格式设置中找到列数,设置为2列 更改切片器关联方法:右键点击切片器,选择“报表链接”,选择需要关联的数据透视表或图 2)控件与公式的组合应用:使用控件、公式,改变静态图标数据源(限制条件较多,但支持图表类型广泛),将控件作为交互平台,将函数的返回值作为图表的数据源,通过选择控件来改变函数返回值,参照基准点发生的变化,实现图表的动态展现效果的方法。 动态图表制作步骤:选择并设置控件(开发工具-插入-表单控件-组合框),准备图表数据,创建图表,测试 动态图表制作逻辑:以控件返回值为基础参考值,用offset等查找定位函数选择图表参考数据区域,将公式写入创建名称中作为图表的参考数据使用,将图表的数据源设定为创建的名称 e.g. =OFFSET($B$3,$A$3,1,1,7),B3是表格首行首个单元格,A3是组合框的返回值结果 指定名称定义:因为在图表里无法直接写公式,Excel工具栏中公式-名称管理器-新建,命名并将引用位置设置为=OFFSET($B$3,$A$3,1,1,7) 再关联图表:图表中右键,选择数据,编辑,将系列值改为=柱形图示例!{新建公式名称} 动态图表制作注意事项: - 根据实际需要选择适当的控件 - 根据业务需求决定动态图表互动方式 - 需要注意不要将函数写死,业务可能后续发生变化 - 图标制作好后,一定要先进行测试,保证图表结果的准确性 43、主要控件 1)选项按钮 2)复选框 3)列表框 4)滚动条、数值调节按钮 ————————————————————————————————————————————————————————— 【Power Map数据地图创建及应用】 44、数据地图是展现数据地理信息最为直观的方法。Power Map是Power BI系列插件工具中用来生成数据地图的工具,结合Bing地图,支持用户绘制可视化的地理和时态数据,并用3D方式进行分析。需要联网与Bing地图通信环境下才可使用Power Map。 Excel菜单栏,插入-Power Map-地图 静态地图:右侧区域图层窗格,先选地理和地图级别(下一步),再设置高度,勾选关注指标(默认求和,注意按实际调整),切换图形类型 动态地图(走马灯):步骤如前,时间序列场景下添加时间为月份,有新指标要加入地图,首先添加图层! @切换平面地图并调整右下角角度会让地图更直观 —————————————————————————————————————————————————————————— 【Power View交互式仪表板制作】 45、Power View:可以快速简单地制作仪表盘,功能上类似于Excel中的数据透视图表与切片器的组合工具,可以对数据进行快速筛选查看,还可以用它制作出功能丰富的动态图表。 ​
个人分类: 学习笔记|23 次阅读|0 个评论
分享 DAY4:【第5章: Power Pivot多维数据透视分析方法】 #CDA学习打卡 #CDA数据分析师
大妮tbdt 2024-10-4 23:56
【Power Pivot 概述及导入数据】 透视是在指定维度下对指标值进行汇总观测的方法。在海量原始数据面前,我们是得不到任何有用信息的,只有将其分类汇总后,才能得到这些数据背后隐藏的信息。这就是透视分析的意义。 在复杂的业务逻辑面前,非单一数据源的简单数据分析需求,比如想看到不同销售区域下每名不同销售人员的销售业绩,与所有销售人员的总平均业绩的差距是多少,销售人员业绩比平均低时用红色标注,高用绿色标注。其中,区域信息来自区域表,销售业绩信息来自于销售表。 33、Power Pivot是一个加强版的数据透视工具,不仅在数据处理量上,更在透视规则及自定义规则上得到了大幅改善。不仅拥有比传统数据透视表更加强大灵活的计算分析能力,还可以导入并关联多种不同数据源的大量数据,并在内存中创建自己的多维数据模型(多个表关联在一起的数据集合)。 - 搭建多维数据分析环境,形成统一的数据环境 - 突破数据行数限制(勿大于2G!) - 简洁的操作界面功能 - 强大的自定义功能(200+个函数) @“数据模型”及Power Pivot中的数据 @从一个外部数据源导入一个表数据即在Power Pivot形成一个工作表 @从Power Query导入:在Power Query首次加载时,勾选“将此数据添加到数据模型”,再直接进入Power Pivot界面可见 @从Excel导入:选中目标区域,在Excel工具栏找到Power Pivot-表格-添加到数据模型,再直接进入Power Pivot界面可见 ———————————————————————————————————————————————————————— 【Power Pivot 搭建多维数据分析模型】 34、多维数据模型:又叫多维数据集、立方体( 可以从多角度多侧面,用数据全面映射某种业务的实际状况 ),指的是相互间通过某种联系被关联在一起的不同类别的数据集合。涉及该业务与之相连的其他业务的数据全部整合到一起,创建全面的、统一的多维数据环境才能深入全面观察某个业务问题,搭建环境越充实,分析结果的可参考性越高。 @Power Pivot中的操作都是最终Excel数据透视表的前期准备工作 多维数据集搭建方法: 1)明确表与表之间用于匹配的关键字段 2)在 关系图视图 模式下,选中某个表的关键字段拖拽向另一个表的关键字段 注意: @1 两表关联时必然有一个主表(*)和一个附表(1)。 用于连接两表的两个关键字段中,至少有一个关键字段是没有重复值的。(Power Pivot的强制要求,不允许“多对多”) @2 如果两个关键字段都没有重复值,连接时先选中的表为主表,形成“一对一”关系 。 @3 系统会将关键字段中有重复值的表作为主表,没有重复值的表为附表,形成“多对一”关系。在数据透视表中, 只有当行/列标签均来自附表时,附表才能提供值字段。(行/列标签有一个来自主表就会报错!) - 以上连接规则将用在创建的数据透视表中: 主页-数据透视表 —————————————————————————————————————————————————————————— 【Power Pivot 创建层次结构】 35、在不同字段间创建层次结构方法: 1)在关系图视图模式下选中父级字段后,鼠标右键选中“创建层次结构” 2)为层次结构命名 3)将子级字段拖拽到创建好的层次结构中父级字段的下方 @创建层次结构时一定要符合业务逻辑! —————————————————————————————————————————————————————————— 【Power Pivot DAX表达式】 36、DAX数据分析表达式: Power Pivot的特有函数集,用于在Power Pivot编辑器内为数据透视表创建透视规则(复杂条件下的筛选或计算)以及增加新的字段内容。 1)DAX表达式的结果应用在数据透视表中 2)DAX表达式的结果作用于整列或者表中所有行 3)注意: @Power Query和Power Pivot中处理的都是表结构数据,有基于表(字段的合集)和字段的数据类型,区分于Excel中的文本型、数值型等数据类型 - 表名用' '引用,字段名(列名)用 引用,例如'商机记录' - 要注意函数表达式中参数的数据类型,尤其是要将“表”与“数值”正确区分 - 与Excel公式相同,除了直接在编辑器的公式区域输入公式外,还可以单击公式编辑栏前的fx图标启动插入函数对话框,在对话框中选择需要的函数使用 - 表达式中的函数名不分大小写(只有Power Query的M函数区分大小写,每个单词首字母大写) e.g. 高赢单率: = 0.75 低风险: = “无” @右侧DAX编辑新字段:针对左侧预览区域内某一个字段中的每一行值来进行计算时使用 =switch('商机记录' ,0.15,"低",0.25,"低",0.5,"中",0.75,"高","-") (!先将两表创建好连接关系才能使用related) =related('商机相关企业信息' ) @下方DAX编辑汇总规则:针对上方预览区域的某一个字段整个字段创建汇总规则时使用(建议字段正下方书写!)- 只有在创建数据透视表中才能发挥作用 高赢单率低风险商机金额加总值:=calculate(sum('商机记录' ),filter('商机记录','商机记录' ="高"),filter('商机记录','商机记录' ="无")) 总商机金额:=sum('商机记录' ) @注意等号前的冒号!注意字段名可用鼠标点选整列完成 高赢单率低风险商机金额百分比:= / ,在主页-格式设置-格式,设置为“百分比” ———————————————————————————————————————————————————————— 【Power Pivot 使用KPI】 37、KPI即在Excel数据透视表中创建图标集的方法,图标集方便用户快速了解数据的好坏程度。常见的三色图标有两个阈值来区分,最小和最大阈值 1)在编辑器下方公式区域内用公式为需要创建KPI的字段指定汇总规则(至少一个DAX) 2)点击“创建KPI”在“关键绩效指标(KPI)”对话框中设定KPI规则 3)定义KPI目标值的方法有“度量值”及“绝对值”两种方法: 度量值 - (需要两个汇总规则)通过一种汇总规则和另外一种汇总之间的比对关系,以两种汇总值之间的百分比为判断依据的KPI规则 绝对值 - 以一个汇总规则与某个绝对数值之间的大小关系为判断依据的KPI规则 e.g. 平均销售金额:=average( ) 城市维度总平均金额:=calculate(average( ),all('表1' )) @ALL函数:“所有XX的…” @目标即理想中的状态 选中 ,主页-创建KPI,度量值:城市维度总平均金额,100%-120% - 生成红绿灯图标 销量:=count('表1' ) 选中 ,主页-创建KPI,绝对值:10000,1000-4000 - 生成红绿灯图标
个人分类: 学习笔记|36 次阅读|0 个评论
分享 DAY3:【第4章: Power Query多源大规模数据加工处理方法】 #CDA学习打卡 #CDA数据分析 ...
大妮tbdt 2024-10-3 16:52
【Power Query概述及导入多源数据】 27、Power Query:多源大规模数据加工处理方法 - 提取整合多数据源数据,包括各种关系型数据库、Excel文件、txt格式(制表符Tab分割)及csv格式(逗号comma分割)的等文本文件(只有数据信息分隔符,没有其他信息)、Web页面、Hadoop的HDFS等等 - 突破Excel表格的数据限制,可快速处理几百万甚至上千万行(大约2G)的数据 - 提供丰富的数据处理分析功能 - 可通过M函数灵活创建自定义数据处理及计算规则 - 创建好的数据处理流程可以无限次复用 @2016以上版本:数据-“获取和转换”功能组 !勿通过数据-获取外部数据进行导入 数据导入方式一:仅创建连接,只是将外部数据源导入到Power Query的查询引擎中,而在Excel表格界面中不会留下任何数据痕迹——适用于只需要在Power Query中进行数据处理,而不需要Excel表格界面中对导入数据进行预览或单元格计算时,可节省文件容量,减少计算压力 数据导入方式二:表,不仅可以将外部数据源导入到Power Query的查询引擎中,同时在Excel表格界面中生成一份与Power Query相关联的Excel工作表数据。在Power Query中发生的变化,点击加载后Excel工作表中的数据也会随之发生变化。——适用于需要在Excel表格界面中使用数据时 @“加载到…”支持两种方式间的切换 @Power Query进行修改后,记得左上角点“关闭并上载”或“关闭并上载至…”(第一次加载时未设置加载规则的情况) ———————————————————————————————————————————————————————— 【Power Query合并数据】 字段 的集合就是 数据表 , 数据表 的集合就是 数据库 。每张表字段首行叫 标题行 ,标题行中内容叫 字段名 ,第二到最后一行叫 记录 ,记载了数据内容。 存放最终合并结果的叫 主表 ,为主表提供必要信息的表叫 附表 。 ​ 28、横向合并数据:将附表中有而主表中没有的字段信息合并至主表中,从而充实完善主表信息的方法。即合并列,添加新的字段进来。 选中主表,合并-合并查询 1)确定用于合并两表的关键字段(主附表中都有且值对应的上的字段,最好没有重复值) 2)进行合并操作 3)选择需要展示的字段信息(连接过来的Table附表展开后设置) @:两表若担心同名字段存在,可以勾选上“使用原始列名作为前缀” @1:当两表中用于合并的关键字段值不是一一对应时,不同的联接种类会出现不同的联接结果(默认选“内部”,另一种是“左外部”) @2:当关键字段中有重复值时,连接后的总行数为关键字段值重复出现次数的乘积 29、纵向合并数据:即添加行,在现有数据的基础上添加记录。 选中主表,合并-追加查询,“两个表”或“三个或更多表” 1)将有相同字段名的字段纵向合并到一起 2)将不同字段名的字段追加在最后 3)非匹配字段标记为“null”值 @Excel是否自动添加标题行:看导入的原始数据的第一行的数据类型是否和下方所有记录数据的数据类型完全一致,是就会默认首行也是记录并添加系统标题行 - Power Query,转换-将第一行用作标题 !一个字段只允许有一种数据类型,将文本型字段与数值型字段成功合并后,将会改变字段类型为文本型(因为数值可以变成文本,而文本无法变成数值!!!) ———————————————————————————————————————————————————————— 【Power Query基本功能】 30、 1)“开始”选项卡:对数据进行上载查询、增减行或列、拆分列、分组、改变数据类型、更改属性、导入及合并外部数据等基本操作。 2)“转换”选项卡:提供了针对行与列间的结构性加工处理功能、数据类型、格式等设置功能以及基本的函数计算功能。 选中目标列,转换-任意列-填充,向上/向下 !空值很危险,null,不知道位数也不知道下一步该如何操作-转换为已知状态的真正控制,比如“-” 选中目标列,转换-任意列-透视列,文本型只能计数 选中目标列,转换-任意列-逆透视列-逆透视其他列,即从二维交叉表转换为一维表 3)“添加列”选项卡:针对字段信息的加工处理,包括添加新字段、更改字段格式、位字段增加计算公式等(其中大部分功能与转换选项卡中功能重复,但适用于新添加的字段上的处理)。 选中目标列,添加列-常规-自定义列,进行参数定义即可 4)“视图”选项卡:用来显示或隐藏“查询编辑器“中的主要功能区域。 @查询在Power Query 中应用的步骤都通过M函数形式保存在查询设置中。 @“数据透视”:按照某种规则将数据进行汇总,汇总行列标签结果形成二位汇总表 ———————————————————————————————————————————————————————— 【Power Query M函数】 31、编辑M函数(Power Query 80%的能力,提高重复性工作效率)方法: 600+个,专用于数据处理的编程语言,先要会改,后要会写!M函数先继承上一步处理的结果,在此基础上进行目前本身处理,生成本身的处理结果,依次循环…… 1)通过“编辑栏”、“添加自定义列”或“高级编辑器”(批量写入M函数的处理逻辑)等功能了解M函数表达式写法 2)根据需求重新编辑表达式程序 3)编辑错误通过“查询设置”区域退回重新编辑 4)新建一个空查询,再在fx编辑器中输入“=#shared”可以查看M函数List列表,转换-到表中 可以转为Table表数据方便通过筛选按钮查询定位,例如Text. 或者Date. 等等 - 添加序号列:添加列-常规-索引列,Table.AddIndexColumn() - 重排序的列:鼠标选中拖拽,Table.ReorderColumns() -提取数据:添加列-从文本-提取,Text.Range()(从前一位往后取一位数!) - 转换数据类型:开始-转换-数据类型,设置为“整数”Int64.Type,Table.TransformColumnTypes() +文本数据类型:type text +日期数据类型:type date - 添加新字段:Table.AddColumn() - 判断奇偶:转换-编号列-信息,设置为“偶数” - 替换值:开始-转换-替换值,Table.ReplaceValue() 32、Power Query高级编辑器 let-in结构,let中记录的是每一步操作步骤,in里面记录的是最终显示出来的处理结果,let等式左边是当前操作的结果值,右边是操作内容,蛇形相连,各操作间用逗号隔开,最后一步操作后没有逗号后接in部分! !借鉴已有M函数写新函数时,注意修改每行结果值,句末逗号与否,in显示内容 @未来有新纪录加进来,只需要将新纪录加进Excel原始数据sheet中,上方功能栏找到数据-全部刷新,就可以按之前的Power Query逻辑得到最新更新后的数据
个人分类: 学习笔记|54 次阅读|0 个评论
分享 DAY2:【第二章:Excel基础】&【第三章:Excel数据加工处理及基本公式介绍】 #CDA学 ...
大妮tbdt 2024-10-2 22:57
【“表格”结构数据与“表”结构数据】 12、表格结构数据:以单元格为基本数据存储及操作单位 - 处理批量数据效率低 表结构数据:以字段(列)为基本数据存储及操作单位,比单元格高一个维度 - 易于处理批量大量数据,是数据分析的全场景 e.g. Excel中的已建表,方便批量进一步操作;还可以导入关联外部数据源并与之同步更新,在不同表之间进行快速连接,包括通过Power Query和Power Pivot进一步处理。 —————————————————————————————————————————————————————————————— 【Excel数据透视图表与切片器】 13、数据透视表:由“筛选器”、“行/列标签”、“值”构成的二维值汇总表;易操作性、可计算性、数据处理方法多 @数据透视表用来将一维原始数据转换为由行列构成的二维值汇总表。 ​ 14、数据透视图:基于数据透视表生成的图表,用户可以通过鼠标拖拽来快速更改图标显示结果;没有Excel基本图表类型中的散点图和气泡图。 @数据透视图既可以通过数据透视表生成也可以直接引用一般表格数据生成,此时会自动生成与其对应的数据透视表,一一对应。 !图和表的升降排序顺序相反 15、切片器(2010版本以上):当切片器与数据透视图表关联后,对切片器进行选择时,数据透视表会一起发生变化。 @切片器与数据透视图表的组合应用是生成BI报表高度交互性可视化界面的基础。 !只要是同一个底层数据源下,不同数据透视图表都可以通过同一个切片器(右键,报表连接)控制 ———————————————————————————————————————————————————————————— 【Excel条件格式与迷你图】 16、条件格式 1)以单元格值为基础,设定条件格式: e.g. “单元格值介于15和25之间的单元格标为黄色”,全选单元格,只为包含以下内容的单元格设置格式,单元格值-介于-15到25,格式为填充黄色 2)以公式返回值为基础,设定条件格式: e.g. “第二列值大于第一列值时将第一列中单元格标为黄色”,只选第一列,使用公式确定要设置格式的单元格,=B9A9(勿锁定!),格式为填充黄色 e.g. “将位于偶数行的单元格标为黄色”,全选单元格,使用公式确定要设置格式的单元格,=MOD(ROW(),2)=0(ROW函数返回行号),格式为填充黄色 17、图标集 用图标的不同状态来标注当前单元格值与阈值间的对比关系。注意,1)三种状态、四种状态和五种状态三种类型的图标集;2)数字、百分比、公式及百分点值(PERCENTILE)四种阈值类型。 @红黄绿三色“红绿灯”图标使用最为频繁,如果选择困难可以优先使用 ​ 18、数据条、色阶 数据条:用数据条的长短来标注各单元格值的大小关系, 以一组单元格中的最大值为最长条形,用数据条的长短变化来标注其他单元格值与次单元格值的对比关系 。 色阶:用不同颜色变化来标注各单元格值的大小关系, 以一组单元格中的最大值为最重颜色,用颜色变化来标注其他单元格值与此单元格值的对比关系 。 @如果要利用数据条或色阶来体现各部分值与汇总值之间的占比关系,选定单元格区域应包含汇总值,形象观察部分和整体的关系 19、迷你图 是放入单个单元格中的小型图,代表所选内容中的一行数据;折线图、柱形图、盈亏图。 @迷你图可以使用在表格中与单元格结合使用,令报表阅读者可以通过图表直观掌握到具体表格数据的对比趋势,加深对抽象数据的理解及印象。 ———————————————————————————————————————————————————————————— 【Excel函数公式】 20、函数公式 用来对单个单元格或指定单元格区域进行计算后返回计算结果,返回可以是数值、数组或单元格地址等。函数由返回值、等号、函数表达式、参数、操作符五部分组成。 OFFSET函数:以指定引用为参照系,通过给定偏移量返回新的引用区域,OFFSET(reference, rows, cols, height, width)(rows从上到下,cols从左到右,height是向下取m行,width是向右取n列)- 用于名称定义,e.g. 名称指定到对应的图表的名称进行数据源使用,实现图表动态展现效果。 21、嵌套函数 将内部函数的返回值作为外部函数的参数使用的方法, 使用时内部函数的返回值数据类型一定要与外部函数的参数数据类型保持一致 。 基本数据类型包括文本型text、数值型numerical、布尔型boolean(true或false,不是0或1)、数组array e.g. IF(ISERROR(I2),"ERROR","OK") ———————————————————————————————————————————————————————————— 【Excel基本图表】 22、基本图表类型 柱形图(基于分类):1个变量;多个分类项目比较 柱形图(基于时间):1个变量;不同时点的数值比较,适用时间点偏少 条形图:1个变量;多个分类项目比较 折线图:1个变量;不同时点的数值比较,适用连续时间段 饼图:1个变量;整体中各部分的占比 散点图:2个变量;数据间的分布及关联性,可添加回归公式和趋势线 气泡图:3个变量;数据间的联系比较,用每个点的不同大小代表第三个变量 雷达图:多个变量;多重数据间的比较,多重维度间平级关系 ———————————————————————————————————————————————————————————— 【Excel常用函数】 23、 1)数学函数:SUMIF、SUMPRODUCT、MOD 2)文本函数:LEFT、MID、RIGHT、REPT 3)逻辑和引用函数:IF、ISERROR 4)查找函数:VLOOKUP、HLOOKUP、MATCH、INDEX 5)日期和时间函数:TODAY、WEEKDAY 6)统计函数:COUNTIF ex1. 根据身份证号提取性别和出生年月并计算年龄 left()/mid()/right() mod() year(today()) =E3"性" ex2. 利用2015年节假日统计表计算具体日期及对应的星期数 date(year,mth,day) weekday(date(...)) ex3. 使用INDEX及MATCH组合函数查找标黄部分相关信息 @定位索引列前方列信息,用index()嵌套match()实现vlookup()的效果 - MATCH(lookup-value要查找的值, lookup-array查找连续区域, match-type查找方式,1升序/-1降序/0任意) - INDEX(array查找区域, row-num返回值所在行号, column-num返回值所在列号,唯一时可不填) ex4. 用HLOOKUP公式查找出H列标黄部分值 !横向查找;!一般False精确匹配 HLOOKUP(lookup_value要查找的值, table_array查找区域, row_index_num返回数据在区域的第几行数, range_lookup模糊匹配/精确匹配的T/F) ex5. 使用VLOOKUP函数求I列、K列及M列标黄部分值,并用ISERROR与IF函数的嵌套函数处理异常值 VLOOKUP(lookup_value要查找的值, table_array查找区域, col_index_num返回数据在区域的第几列数, range_lookup模糊匹配/精确匹配的T/F) ISERROR返回Boolean值,注意存在错误时为T,无异常时为F ex6. 用SUMPRODUCT函数计算H列标黄单元格值 将数组间的元素相乘后返回乘积之和 =SUMPRODUCT($D$2:$G$2,D4:G4) =SUM(D2:G2*D4:G4) 按条件收入合计: SUMIF(range, criteria, ) 多条件汇总:销售人员为“苏术平”且国家地区为“加拿大”的销售收入总和 =SUMPRODUCT((($D$2:$D$50=$L$8)*($C$2:$C50=$C$3)),$G$2:$G$50) #用*号在SUMPRODUCT中表示条件间的AND连接,用+号表示OR连接 按条件统计订单数量: COUNTIF(range, criteria) 用REPT在单元格内做虚拟条形图,表现趋势: REPT(text返回值, number_times返回遍数) ———————————————————————————————————————————————————————————— 【Excel基本数据处理方法】 24、处理数据室数据分析流程中的起点,也是耗时最多的环节。 数据处理方法: 1)处理重复数据 针对单列数据识别重复行: I. 使用公式COUNTIF II. 排序关键字段后使用公式IF III. 利用数据透视表计数汇总 针对多列重复的去重: I. 数据-排序和筛选-高级 (Power Query,删除行-删除重复行) II. 识别重复行后删除 @需要结合业务需求决定删除和保留重复行 2)处理不完整数据 查找缺失值: I. 使用 Ctrl+F II. 使用定位条件Ctrl+G,定位格式为“空值” !眼睛看上去是空白的不一定就没有值 III. 利用排序筛选 处理缺失值: I. 使用0替换数值类缺失值 II. 使用平均值替换数值类缺失值 III. 删除含有缺失值的记录或不对此类记录进行操作 IV. 暂时保留缺失值行,(填充色区分或添加辅助列标注,方便快速定位),在有必要时再进行处理 3)处理异常值 !{编号}一般是文本型格式,位数相同,不合系列逻辑很可能是异常值。e.g. 原始数据0001转入Excel可能作为数值型变成1,这时需要转回文本型并补齐前方的000 !0值在日期格式下是“1900/1/0”,确认异常值 !数值型字段出现“0.0.XXXX”或数量级差距巨大可能是误输入的异常值 - 可以设置平均值的倍数作为阈值;或散点图的outlier;或正态分布3倍标准差外的outlier…… 4)数据分组 利用先计数再设置不同计数对应的分档,用辅助列+VLOOKUP对应区间定义文字,最终返回区间定义文字导目标列 ​ 5)转换变量类型 处理格式错误数据: I. 设置格式 II. 使用分列功能,列数据格式为“文本” III. 使用公式补全信息后,转换成日期型 2001-10-02=LEFT(C2,4)"-"MID(C2,5,2)"-"RIGHT(C2,2) @常需要相互转换的数据类型包括文本型、日期型、数值型 6)数据标准化 I. Min-Max标准化:新数据=(原数据-极小值)/(极大值-极小值) @适用于量级差异大的相同维度间进行比较 II. 使用标准分进行标准化:标准分=(原始分-平均分)/ 标准差 STDEV @适用于评价标准或许不同的相同维度间进行比较 7)设置变量权重 III. 加权平均 利用交叉表设置权重: - 纵向和横向对比,横向重要则为1,纵向重要则为0 - 横向加总,每项都加1,保证数值最低项合计值不为零,以免没有意义无法后续进行除法计算 - 每个阶段合计值/合计总值*100% - 加权平均值 = 变量1*变量1的权重 +……+变量n*变量n的权重 ​ 主要数据类型:文本型、整数型、小数型、布尔型、日期型、其他 类型(会计、特殊) 主要变量类型:名义型(彼此间没有顺序关系,只表示分类的数据,例如姓名)、有序型(有顺序关系的数据,例如优良中差)、连续型(包含若干小数位,取值密集,例如温度 ) +思考题:用唯一的数字区分开唯一的业务类型,形成映射关系,方便进一步数据处理和分析 取一个1-3之间的随机小数:=RAND()*(3-1)+1 取一个1-3之间的随机整数:=ROUND(RAND()*(3-1)+1,0) ———————————————————————————————————————————————————————————— 【Excel基础描述性统计类图表】 频数:是落在各类别种的数据个数 频率:是各类别频数与总频数之比 @频数和频率分别从绝对数和相对数上,反映出数据在各变量值上的分布状况。 25、直方图 用来展现数据在不同组距间分布状态的图表,组距=(最大值-最小值)/ 组数,组数根据实际业务情况设置。 !柱形图看高度, 直方图看面积 26、盒须图(箱型图) 用来体现数据分散情况。将数据由小到大排列并分成四等份,处于三个分割点位置的数值就是四分位数。 上边缘 = Q3+1.5*(Q3-Q1) 下边缘 = Q3-1.5*(Q3-Q1)
个人分类: 学习笔记|19 次阅读|0 个评论
分享 DAY1:【数据分析概述】&【分析工具Excel概述】 #CDA学习打卡 #CDA数据分析师
大妮tbdt 2024-10-1 23:52
1、什么是数据分析 数据分析是将数据转化为知识、智慧的手段。 2、知识、智慧、信息和数据的不同定义 知识/智慧:前者是对事物的正确理解及认识,后者是基于知识找到解决方案的能力;——做决策时真正需要,可理解及把控 信息:有逻辑含义及时效性的数据; 数据:包含文本、音乐、文字、数字等多种表达形式。 3、SQL和Excel在数据分析中的定位 SQL:用于存储、收集整理及调用 Excel:数据加工及结果的展现 4、业务人员、IT技术人员及分析人员的不同职责 业务人员:提供业务知识支持,分析需求的提出者分析结果使用者 IT技术人员:提供技术支持 分析人员:数据分析挖掘,制作分析报表,汇报分析成果 5、数据化驱动业务对企业的意义 “数据化驱动型业务”——让企业取得市场竞争优势,充分挖掘数据价值,必不可少。 6、数据分析方法分类 1)业务数据分析: - 描述性分析 - 数据透视 - 可视化图表 - SQL、Excel、…… 2)数据挖掘分析 - 协同过滤 - 分类分析 - 关联分析 - 聚类分析 - Python、SPSS、SAS、R、…… 3)大数据分析 - Hadoop大数据平台 - 数据整理 - 建模、分析与展示 - Hadoop、Spark、…… 7、业务数据分析流程 通过数据分析,将业务工作中产生的数据以可视化图表的形式进行呈现的方法。其目的在于了解及把握过去的业务趋势及现在的业务情况。对过去发生过的或是现在在发生的事情进行事实描述,主要使用描述性分析方法,一般不会涉及预测性分析的内容。 8、商业智能(BI)和商业洞察 商业智能分析是将分析结果以业务分析报告或可视化分析报表的形式呈现给业务决策者的过程。在结果展现环节要求内容准确、客观、全面、直观、易懂。 商业智能通过可视化报表的形式,将阅读大量信息的主动权交到阅读报表者手中,阅读者可根据自己的实际需要,通过界面操作,有选择性地从BI报表中,及时、准确、全面地得到自己需要的数据可视化信息。这个过程叫实现商业洞察,是深入商业现象发现问题本质的过程。 商业智能是实现商业洞察的重要手段。 9、数据可视化分析方法 - 对比分析:预警分析、进度分析、差异分析、纵向对比(时间序列)、横向对比、各种对比 - 结构分析:构成分析、杜邦分析 - 透视分析:数据透视表/图、上卷/下钻分析、不同汇总规则计算 - 其他分析方法:变化分析、分组分析、增维分析 10、可视化交互式是数据分析真正移交阅读者主动权的特点 动态数据报表具有更灵活、强大的数据传递能力,重在可视化展现和交互操作(例如切片器),才能真正移交数据观察的主动权。 可视化是连接数据域人类认知的桥梁; 交互式是从静态数据报表(PPT或Word)向动态数据报表的飞跃。 11、Excel的原理、内外部对象结构、历史、五大必备功能和Power BI四项功能(Power Query、Power Pivot、Power View和Power Map)
个人分类: 学习笔记|53 次阅读|0 个评论
GMT+8, 2025-12-5 16:01