自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 (CDA数据分析师笔记)第六章 业务分析方法四

用户获取成本(customer acquisition cost CAC):在电商、互联网等线上引流过程中费用支付方式主要3类,CPM(cost per mille)广告每千次曝光收费、CPS(cost per sales)实际销售收费、CPC(cost per click)按点击次数收费。其他:到货损坏率、订单满足率、订单执行率、待发货数、已发货数、已签收数等。分为客户收入类指标和客户成本类指标。

2024-04-25 07:08:21 137

原创 (CDA数据分析师笔记)第六章 业务分析方法三

其他:新增VIP注册客户数、新增VIP注册客户数占比、新增金牌客户数、新增金牌客户数占比等等。留存率曲线:单位时间内,用折线图描述获客的留存、流失状态变化的曲线。活跃用户数:日活数(DAU)、周活数(WAU)、月活数(MAU)等。单位时间流失率:可以不同分类,如新增客户流失率、忠实客户流失率。流失客户:单位时间内没有触发特定行为的较难晚会的客户群体。其他:VIP客户数、高价值会员数、复购用户数、到点会员数。单位时间留存率:新增客户留存率、重视客户留存率等。单位时间留存人数:时间可以是日、月、年等。

2024-04-22 09:03:32 144

原创 (CDA数据分析师笔记)第六章 业务分析方法二

标准维度项是指维度项整体中用于衡量各个不同维度项表现水平的标准的维度项。如服装店冬装的销售。目标值:根据维度所处环境、自身能力水平、企业要达到的目的等多种因素综合考虑后给每个维度定的目标数。同环比计算适合一个较长周期的业务观察,且要注意分析对象所处的大业务环境在对比期间没有显著的变化。进行分类,了解各个维度项的表现水平的好坏程度。注意:与均比计算方法类似,基准比计算方法不适用于分析对象的行为结果受多种外部因素影响的场景。注意:作为标准的维度项应该是表现稳定的,否则其他被观测的维度项的表现奖很难被评估。

2024-04-17 21:32:23 145

原创 (CDA数据分析师笔记)第六章 业务分析方法一

注意:求和类指标计算方法得到的合计值不一定都是正值,如何收入和支出是相对的。累计求和计算方法:计算到当前维度为止的所有度量值的累计合计值的计算方法。主要用于统计业务行为出现的次数或者维度项下包含的不同度量的个数。常用的有:均比计算方法、标准比计算方法、基准比计算方法、目标比计算方法、同环比计算方法。常规计数方法:统计维度项下度量值的总个数。注意:由于总平均值使用的是算数平均数,因此易受极端值的影响。常规求和计算方法:计算维度项下包含的所有度量值的合计值。非重复计数方法:统计维度项下不重复的度量值的个数。

2024-04-16 22:41:00 211

原创 (CDA数据分析师学习笔记)第五章多维数据透视分析二

当多表筛选一表时,此时是类型二规则,先对维度字段下不同维度项进行合并同类项处理,再找出每个维度项下包含的公共字段,然后将每个不同公共字段作为汇总度量字段的维度使用,再按照指定的汇总规则去计算每个不同公共字段信息对应的度量值。类型二规则下,指定的维度字段不直接对度量字段进行筛选,而是找出不同维度下包含的不同公共字段,用这些公共字段对度量值字段进行筛选。计算过程:先将每个区域id项包含的不同产品id找到,作为维度,将每一个产品id下对应的度量字段(产品总销量)加总得出最终结果。可能出现度量值重复计算的可能。

2024-04-14 21:44:00 182

原创 (CDA数据分析师学习笔记)第五章多维数据透视分析一

是第一步对源数据进行抽取,源数据主要来源于业务系统、文件数据、第三方数据。T是第二步,对数据进行适当处理,目的是为了下一步的加载。主要是筛选(有价值数据)、清理(异常数据)、转换(如时间、数字、小数等)、缺失值填充、默认值设定、枚举值映射、数据拆分、合并、排序、计算等。T是第三步,将经过适当处理的数据加载到数据仓库中,分为全量加载、增量加载,这是是一个周期性的、不断完善的工作。全称 Extract-Transform-Load。

2024-04-10 23:06:32 288

原创 iterrows方法使dataframe显示完整

方法有很多,这次讲解用dataframe.iterrows()方法。即:1 不能跨行保持数据类型。2不能再循环处理的过程中改变其中的值。这样一个excel文件,由于行数太多显示不全。返回值是一个由索引和Series组成的元组。

2024-04-08 09:41:43 258

原创 numpy入门及和列表的比较

创建一个np的数组。例子:importnumpyasnp创建一个列表a = [1234用列表创建一个numpy数组print'a的类型type(a))print(a)print'b的类型type(b))print(b)结果:a的类型 <class 'list'>b的类型 <class 'numpy.ndarray'>[1 2 3 4]

2024-03-31 16:33:17 241

原创 python的os模块的getcwd()、listdir()、splitext()、chdir()、rename()方法

当前工作路径: D:\pythonProject\test。例子3:修改文件夹的名字,指定文件夹即可。更改后的工作路径: D:\BOOK。例子2:修改文件名并移动路径。

2024-03-27 21:28:55 328

原创 python常用函数isinstance、type、len、replace、strip、split

>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True。比如杜甫,他在嗟叹“丛菊两开他日泪,孤舟 一系故园心”时就很很文艺;['比如杜甫,他在嗟叹', '丛菊两开他日泪,孤舟一系故园心]时就很很文艺']['比如杜甫,他在嗟叹', '丛菊两开他日泪,孤舟一系故园心”时就很很文艺']['比如杜甫,他在嗟叹“丛菊两开他日泪,孤舟一系故园心', '时就很很文艺']比如杜甫,他在嗟叹“丛菊两开他日泪,孤舟一系故园心”时就很很文艺。

2024-03-26 21:40:23 518

原创 python与excel第七节 拆分工作簿

假设一个excle工作簿中有多个工作表,现在需要将每个工作表拆分为单独的工作簿。假设一个工作表中有很多数据,现在需要根据某一列将其分类到不同的sheet里面。假设一个工作表中有很多数据,现在需要根据某一列将其分类到不同的工作簿里面。将来源工作簿中的当前工作表复制到目标工作簿的第一个工作表之前。以品牌名称为工作簿中新增工作表命名。选择目标工作簿中的第一个工作表。读取源表数据到字典中,再根据。遍历来源工作簿中的工作表。读取要拆分的工作表数据。数据添加到新增的工作表。复制数据到新建工作表中。

2024-03-25 22:41:47 1062

原创 python与excel第六节 复制数据

假设需要将一个excel文件中的指定范围的数据批量粘贴到另一个文件夹下面的所有excel中的指定位置。假设一个工作簿中数量不等,现在要复制其中所有工作表的内容到另一个文件夹所有的excel工作簿中。的两个参数分别是(行,列),下面是从第。表的数据范围,防止覆盖掉目标表的数据。循环处理目标文件下文件,并且选择出。的所有数据,实际上复制的内容是从。(向右)分别表示向下或右扩展。,表示向整个数据扩展,可以是。目标工作表新增同名工作表。将源表数据写入新工作表。把源表的数据复制到目标。行,第一列开始粘贴数据。

2024-03-24 20:07:32 1030

原创 python与excel第五节 打印excel

为True时,则打印到prn文件,不打印到到打印机。注意1:From和To参数指定的打印起始页并非excel文件中的起始页或者终止页,而是打印机打印的打印的起止页,即手工打印时设置的起止页码。为True时打印前先预览,False时直接打印。布尔类型,为True时忽略excel中的打印区域设置,直接打印整个文件。布尔类型,默认为True,为True时逐份打印多个副本。数字类型,打印的结束页,如果为空则打印到最后一页。数字类型,打印的起始页,如果为空则从开始页打印。数字类型,设置打印几份,如果为空则打印一份。

2024-03-22 23:21:59 1002

原创 python与excel第三节

假设这样一种情况,一个文件夹下面有多个excel文件,每个excel文件中有多个sheet,在不同的excel中存在同名sheet,需要把这些同名的sheet进行批量修改。上面例子中,需要先获得路径下面所有excel文件,循环这些excel文件,在每个循环中再循环读取每个sheet,找出符合条件的sheet进行重命名。不能用file_list获得修改的名称,因为修改后的文件名并没有被取出来,需要用os.listdir()方法重新获得。模块中的函数,用于把文件夹名和文件名拼接成一个完整路径。

2024-03-21 07:46:48 576

原创 python与excel第四节 批量新增、删除工作表

上面例子,需要循环路径下面所有excel文件,获得每个excel文件的sheet,判断准备新增的sheet名称是否已经存在在excel文件中,如果没有就新增。上面,同样是双重循环来读取每一个sheet来判断是否是准备删除的sheet名称的sheet,其中。假设,一个文件夹下面有多个excel文件,需要再每个excel文件中增加一个sheet。假设,需要删除一个文件夹下面多个excel文件中的相同sheet名称的sheet。这个add方法就是在excel文件中增加sheet的方法。

2024-03-20 23:22:49 718

原创 python与excel第二节

但是,如果该excel文件不存在则报错:FileNotFoundError: No such file: 'D:\TEST\python与excel\工作簿test011.xlsx'下面增加名字为‘订单表’的sheet,修改单元格A1的值为编号。如果该excel文件已经被打开,则以只读模式打开。上面例子打开了工作簿test0.xlsx。方法分离文件的文件名和扩展名,返回元组。列出路径下所有文件和子文件夹的名称。判断文件夹下文件的扩展名是否为。给出工作簿所在的文件夹路径。方法返回一个列表,再用。

2024-03-20 20:50:26 1022

原创 python与excel第一节

其中xlwings的功能是最强大的、最齐全的不仅能读、写、修改xls和xlsx两种格式的excel文件。上面例子中:app()方法的visible参数用于设置excel程序窗口的可见性,为True时,表示显示excel程序窗口,为False时,表示隐藏excel程序的窗口。add_book方法用于设置启动excel程序后是否新建工作簿,为True时新建,为False时不新建。然后下面一行app.books.add()方法才新建工作簿,循环了10次,建立十个excel文件。

2024-03-19 23:41:46 1083

原创 python文件的打开及open方法

使用with,此时无需使用finally,python解释器会自动处理文件的关闭,不需要考虑什么时候打开或者关闭文件。buffering:缓存,0时不缓存,1时访问缓存行,大于1的整数时,指缓存区的大小,负值时,缓存区的大小为系统默认值。写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾。写入文件,若文件不存在则会先创建再写入,会覆盖原文件。可读、可写,文件不存在先创建,不会覆盖,追加在末尾。可读、可写,文件不存在也会报错,写操作时会覆盖。可读,可写,文件不存在先创建,会覆盖。

2024-03-15 23:03:12 348

原创 python文件组织:包(package)、模块(module)、文件(file)

模块所在的包,创建一个包用于组织多个模块,包文件夹中必须创建一个名为’__init__.py’的文件,以将其识别为包,否则只能算作是一个普通的目录。python -m main.py 将入口文件当作一个模块执行,则可以使用相对路径导入模块。但是,不能只导入类中的函数,却不导入类,如下错误:Dog是类,say_hi是其中函数。入口文件不可以使用相对路径来导入模块,只能使用绝对路径。导入顺序是:标准库模块--第三方模块--自定义模块。只能导入模块,不能导入函数、变量。可以导入模块、函数、变量。

2024-03-10 23:14:57 365

原创 python第九节:类的使用(3)

例子:多重继承,按照在在子类定义时,括号中的顺序继承,同名的优先继承排在前面的类中的方法。继承关系中,父类的__init__方法不会被自动调用,如果需要,必须在子类中明确调用它。创建子类时,必须在括号内指定父类的名称。子类和父类可以不再同一个py文件中。在子类中定义一个方法,和父类的方法同名,子类中的方法将覆盖父类中方法。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。另一个类时,它将自动获得另一个类的所有属性和方法;在子类中调用父类的方法,使用super()关键字。

2024-03-08 18:55:19 724

原创 python第九节:类的使用(2)

init方法的名称前后各有两个下划线,这是python语言的一种约定,避免与普通方法产生冲突,称为“魔法函数”。方法__init__()定义时,形参self必不可少,还必须位于其他形参的前面,self代表类的当前实例。它是一个指向实例本身的引用,让实例能够访问类中的属性和方法,self之后的参数个数依实际需要而定。2 双下划线开头的方法,是私有方法在类的外面不能访问。双下划线开头的方法是私有化方法,不能在类的外部调用。双下划线开头的方法是私有化方法,不能在类的外部调用。旺财 rolled over!

2024-03-07 21:29:11 848

原创 python第九节:类的使用(1)

一个python文件中可以有多个类,但是为了易于维护不能有太多的类。且每个类的功能遵循单一原则。python文件名称最好与主要类匹配。python中所有类默认继承Object类。1类将数据和方法封装在一起,形成一个独立的实体,保护数据的安全性,只允许通过类的方法来访问和修改数据。2 实现代码的复用:通过创建类,我们可以在不同的地方使用相同的代码逻辑。类可以被多个对象实例化,每个对象都拥有相同的属性和方法。3提高代码的可维护性:类的封装特性使得代码更易于维护和扩展。

2024-03-06 22:23:33 473

原创 错误解析:TypeError: Cannot perform ‘rand_‘ with a dtyped [float64] array and scalar of type [bool]

sourcedata = sourcedata.loc[(sourcedata['贷款余额折人民币']>0) & (sourcedata['授信额度金额']>30000000) )sourcedata = sourcedata.loc[(sourcedata['贷款余额折人民币']>0) & sourcedata['授信额度金额']>30000000 )比如:下面这种就会报错,由于&操作符的两边必须是布尔类型,而sourcedata['授信额度金额']>30000000必须加上括号以后才会返回布尔类型。

2024-02-29 12:25:57 338

原创 python第七节:条件、循环语句(2)

当前数字时: 0.16666666666666666。当前数字时: 0.3333333333333333。当前数字时: 0.6666666666666666。当前数字时: 0.8333333333333334。进入for的else语句中,循环总次数: 20。进入for的else语句中,当前数字时: 5。终止当前循环,进入下一次循环。当前数字时: 0.125。当前数字时: 0.375。当前数字时: 0.625。终止循环,跳出整个循环。当前数字时: 0.25。当前数字时: 0.5。当前数字时: 0.2。

2024-02-27 08:18:11 884

原创 python第八节:函数

用关键字def定义,可以有return表达式,也可以没有。应给函数指定描述性名称,且只在其中使用小写字母和下划线。等号两边不要有空格。函数的调用就是在函数体外用 函数名(参数) 的方式,但是注意函数调用必须在函数定义之后。

2024-02-27 08:15:56 951

原创 如何判断列表、字典等是否为空

2 利用空列表、空字典等相当于False的特点。3 判断它是否等于另一个空列表、字典等。用于判断语句时,非空列表相当于。用于判断语句时,非空字典相当于。listb和listc相同!dictb和dictc相同!来判断空列表,空列表不是。来判断空字典,空字典不是。判断列表的长度是否为零。lista列表不是空!判断字典的长度是否为零。dicta字典不是空!1 len方法判断。listb列表为空!listb列表是空!dictb字典为空!dictb字典是空!

2024-02-24 16:36:33 413

原创 python第七节:条件、循环语句(1)

任何非空、非零的变量或者列表、集合、字典等都是真。

2024-02-22 23:10:36 313

原创 python第六节:字典dict(3)

对于小型字典,两种方法在性能上并没有明显的差异,但在处理大型字典时,迭代器更加高效,因为迭代器在处理大型数据集时可以分块读取数据,而。values()方法返回一个值组成的所有类型。keys()返回一个所有键的类型。循环已经足够,如果要处理大型字典或多个字典,则使用迭代器会是更优的选择。循环更为简单,尤其是在需要处理多个字典的情况下,迭代器比。取下一个键,在根据键取对应的值。实际是遍历的字典的键。value是: 张三。

2024-02-20 15:21:26 906

原创 python第六节:字典dict(2)

{'name': '张三', 'age': 18, 'sex': '女', 0: 0, 'new1': 'new_value1', 3: 'new_value3'}{'name': '李四', 'age': 18, 'sex': '女', 0: 0, '地址': '北京'}{'name': '张三', 'age': 18, 'sex': '女', 0: 0, '地址': '纽约'}{'name': '张三', 'age': 18, 'sex': '女', 0: 0}如果dict1中有则更新,没有则增加。

2024-02-16 10:03:36 651

原创 python第六节:字典dict(1)

字典就是由键值对组成。键可以是数字、字符串、列表、元组。键必须是唯一的,值是可以重复的。

2024-02-06 09:27:23 962

原创 python第五节:集合set(4)

集合其他方法:len(s)set的长度x in sx是否是 s 的成员x not in sx是否不是 s 的成员是否 s 中的每一个元素都在 t 中是否 t 中的每一个元素都在 ss.union(t)返回一个新的 set 包含 s 和 t 中的每一个元素返回一个新的 set 包含 s 和 t 中的公共元素返回一个新的 set 包含 s 中有但是 t 中没有的元素返回一个新的 set 包含 s 和 t 中不重复的元素s.copy()复制集合s例子1:set1 = {

2024-01-30 07:54:34 954

原创 python第五节:集合set(3)

差集是存在于set1不存在于set2中的元素(set1-set2)或者存在于set2不存在于set1中的元素(set2-set1)。{'a', 'zhangsan', '123', 'cde', 'b', 'abc', '张三'}set1 = {'a','b','cde','张三','123'}set1 = {'a','b','cde','张三','123'}set1 = {'a','b','cde','张三','123'}set1 = {'a','b','cde','张三','123'}

2024-01-29 21:58:48 454

原创 python第五节:集合set(2)

在集合setVar中查找element元素,如果存在则删除;如果没找到,则报错。删除并返回set类型的s中的一个不确定的元素,如果为空引发KeyError错误。如果找不到元素则报错(KeyError)。如果集合中没有该元素,不做任何操作也不报错。element :集合中要查找并删除的元素。element :表示要查找并删除的元素。setVar :为一个set类型的变量。setVar :为一个set类型的变量。s:为set类型的变量。s:set类型的变量。清空s集合中的所有元素。

2024-01-28 15:12:48 633

原创 python第五节:集合set(1)

集合是一个无序不重复元素的集合。集合中元素包含在花括号中,例如'a'1'tom'"xy"set1 =set()set2 =set([])set3 =set({})虽然集合用{}包含集合的元素,但是{}创建出的确实字典,而非集合set4 = {}printtype(set1))print(set1)printtype(set2))print(set2)printtype(set3))print。

2024-01-27 22:42:43 263

原创 python第三节:Str字符串类型(9)

在字符串左边填充0,最终长度为width。如果width小于原字符串的长度,则返回子字符串的副本。注意:正负值前缀 ('+'/'-') 的处理方式是在正负符号之后填充而非在之前。返回原字符串的副本,其中大写字符转换为小写,小写转换为大写。,将每个字符转换为对应字符,返回一个副本。注意: s.swapcase().swapcase()你好SPACIOUS WORLD uk us。你好#¥56HELLO worlD。通过一个给定的转换表进行映射。s 并不一定为真值。注意:只在左侧添加。

2024-01-26 23:01:27 731

原创 python第三节:Str字符串类型(8)

请注意如果 s 包含不区分大小写的字符或者如果结果字符的 Unicode 类别不是 "Lu" (Letter, uppercase) 而是 "Lt" (Letter, titlecase) 则 s.upper().isupper() 有可能为 False。和str.strip([chars])类似,区别在于str.rstrip([chars])至移除末尾的字符。在移除字符串前后的指定字符时,遇到不在参数组合中的字符时即停止。参数为指定要移除字符的字符串。返回原字符串的副本,移除其中的前导和末尾字符。

2024-01-19 11:44:46 455

原创 python第三节:Str字符串类型(7)

str.split(sep=None,maxsplit=-1)使用sep作为分隔字符串,返回一个由字符串内单词组成的列表。如果给出了maxsplit,则最多进行maxsplit次拆分(因此,列表最多会有maxsplit+1个元素)。 如果maxsplit未指定或为-1,则不限制拆分次数(进行所有可能的拆分)。如果给出了sep,则连续的分隔符不会被组合在一起而是被视为分隔空字符串 (例如'1,,2'.split(',')将返回['1','','2'])。sep参数可

2024-01-18 09:20:34 519

原创 python第三节:Str字符串类型(6)

在字符串内被找到的最大(最右)索引。在字符串内被找到的最大(最右)索引。元组,其中包含分隔符之前的部分、分隔符本身,以及分隔符之后的部分。元组,其中包含分隔符之前的部分、分隔符本身,以及分隔符之后的部分。的字符串,原字符串在其中靠右对齐。小于等于 len(s) 则返回原字符串的副本。返回字符串的副本,其中出现的所有子字符串。最后一次出现的位置拆分字符串,返回一个。元组中包含两个空字符串以及字符串本身。首次出现的位置拆分字符串,返回一个。如果分隔符未找到,则返回的。如果分隔符未找到,则返回的。

2024-01-17 21:25:27 757

原创 python第三节:Str字符串类型(5)

当只传入一个参数时,该参数必须是一个字典。该字典的key必须是unicode的码位序号(int)或字符(长度为1的string),value必须是。否则,返回原始字符串的副本。否则,返回原始字符串的副本。当传入2个参数时,常用于创建映射转换表,返回一个字典,将参数1映射到参数2。当传入3个参数时,前2个字符串按照规则正常映射,第3个参数。返回原字符串的副本,其所有区分大小写的字符均转换为小写。须是一个字符串,其中的字符将在结果中被映射到 None。返回原字符串的副本,移除其中的前导字符。

2024-01-15 14:56:38 956

原创 python第三节:Str字符串类型(4)

不可打印字符是在 Unicode 字符数据库中被定义为 "Other" 或 "Separator" 的字符,例外情况是 ASCII 空格字符 (0x20) 被视作可打印字符。如果字符串中至少有一个字符且为标题字符串则返回 True ,例如大写字符之后只能带非大写字符而小写字符必须有大写字符打头。如果字符串中至少有一个区分大小写的字符 ,且字符均为大写则返回 True ,否则返回 False。如果字符串中只有空白字符且至少有一个字符则返回 True ,否则返回 False。中的字符串拼接而成的字符串。

2024-01-12 11:04:36 707 2

企业规模(大中小微)批量分类工具

根据企业的公司名称,行业类型,营业收入,资产总额,从业人员对企业的规模进行批量区分。

2023-06-06

空空如也

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

TA关注的人

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