自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 3.3 “可视化”销售数据

这一节,我们将前面分析的数据,以图的形式展示出来,也就是“数据可视化”。代码如下:graph_data=pd.pivot_table(join_data,index="payment_month",columns="item_name",values="price",aggfunc="sum")graph_data.head()解释一下代码:和上一节的代码相似,这里我们去掉了“quantity”。 点击"运行",执行效果如下图所示。接下来,我们导入...

2020-08-03 19:11:48 805 1

原创 3.2 按“月份”和“商品”分析销售数据

接下来,我们在以“月份”分组的基础上,再添加“商品”维度的分组。代码如下:join_data.groupby(["payment_month","item_name"]).sum()[["price","quantity"]]解释一下代码:同样使用groupby()函数,多个数据列分组的情况下,可以使用List(列表)。点击"运行",执行效果如下图所示。实际业务中,也可以使用pivot_table函数来显示分析结果,它是以表格的形式进行展示。...

2020-08-03 19:10:48 506

原创 3.1 按“月份”分析销售数据

基础分析完成后,可能你马上想知道每个月的销售额是多少呢?接下来按照“时间”维度,以“月份”为单位,分析店铺的月份销售数据。分析“月份”,可能会关联到“payment_date”的数据。大家知道,在Python基础的学习中,变量的数据类型非常重要,执行某个函数时都会和数据类型打交道。所以首先,我们先确定一下“payment_date”数据列的数据类型,代码如下:join_data.dtypes点击"运行",执行效果如下图所示。可以发现,使用 dtypes,可以将每个数据列...

2020-08-03 19:09:56 669

原创 2.3 缺损值和一般统计量

接下来,我们要计算出两种数据值:缺损值和一般统计量。缺损值主要指的是,数据列中存在缺少或漏掉的数据项,比如 customer_master 中缺少了顾客的姓名或邮箱,transaction 中缺少了交易的数量或金额等等。缺损值的大小对后面的分析非常重要,应尽量让缺损值越小越好。那么,首先计算一下 join_data 中各个数据列的缺损值,代码如下:join_data.isnull().sum()解释一下代码:使用isnull() 函数,如果数据列中的数据项不存...

2020-08-03 19:09:04 306

原创 2.2 自定义数据列

前面所学的数据纵向完全合并和数据横向关联合并,都是对数据进行原封不动的操作。有时,为了分析的需要,需要我们新增一些数据列,比如算出销售总额等等,这就是所谓的自定义数据列。下面我们想将顾客的花费金额,作为新的数据列添加到 join_data 中,就可以用销售数量“quantity”乘以商品单价“item_price”达到目的。代码如下:join_data["price"] = join_data["quantity"]*join_data["item_price"]join_...

2020-08-03 19:08:21 172

原创 2.1 数据横向关联合并:merge

这一节,我们的目标是想把 transaction 数据 和 transaction_detail 数据 也合并到一起。和上一节的concat合并(数据列相同)不同,这次的两个数据集合,数据列是不同的。所以,合并时就会有下面的问题:是将两个数据集合的数据列全部合并?还是只合并必要的数据列? 两个数据集合合并的连接点是哪个数据列?带着上面的问题,我们还是回到刘先生的需求:如何让自己的店铺销量越来越好?显然从销量的角度,还是以更有利于分析的 transaction_detai...

2020-08-03 19:07:25 1022

原创 1.3 数据纵向完全合并:concat

这一节,我们学习如何将“transaction_1.csv”文件和“transaction_2.csv”文件合并起来。观察这两个数据文件可以发现,数据文件的数据列都是一样的。这种情况下的所谓合并,就是相同结构下数据量的增加,好比原来是11层楼(transaction_1.csv),现在再增加盖5层楼(transaction_2.csv)的意思,也就是数据的纵向完全合并。上一节中,我们已经将“transaction_1.csv”文件转换成了transaction_1 变量,接下来,再读取“...

2020-08-03 19:06:18 1000

原创 1.2 读取观察数据

数据文件上传到jupyter notebook后,接下来,就开始读取各个数据文件,然后将每个数据文件的前5行数据内容显示出来,观察一下数据列之间的关系。比如,首先来读取customer_master.csv文件中的内容,代码如下:import pandas as pdcustomer_master = pd.read_csv('customer_master.csv')customer_master.head()解释一下代码:第1行:引入Python的软件包——panda...

2020-08-03 19:05:22 948

原创 1.1 案例介绍

刘先生经营着一家销售电脑及周边耗材的淘宝店铺。半年下来,来自全国各地的淘宝买家,在刘先生这里下了不少订单,销售额看起来非常不错。但是让刘先生苦恼的是,随着订单的增多,淘宝后台的数据量也越来越多。什么买家数据、商品数据、交易数据等等,让刘先生看得头昏眼花。刘先生只想知道,如何分析这些数据,让淘宝店铺的销量越多越好。好,上面就是刘先生的需求:线上淘宝店铺的销量数据分析。接下来,我们将使用Python中的Pandas数据分析工具,一步一步帮助刘先生解决他的苦恼。Pan...

2020-08-03 19:03:40 146

原创 (第6天)6.3 变量的作用域

什么是变量的作用域呢?变量,前面已经学过;作用域,是计算机专业用语。变量的作用域,简单说,就是变量的使用范围。如下图所示,函数外的变量,我们称为全局变量,如变量a,它的作用域(使用范围)是整个黄色和绿色包括的区域;而函数内的变量,我们称为局部变量,如变量b,它的作用域(使用范围)仅仅是绿色的区域。仔细观察下面的代码,理解变量作用域的使用方法。a = 0def printNum(): b=1 print(a,b)printNum()在云编辑器中,输入上面的...

2020-07-30 06:40:07 84

原创 (第6天)6.2 函数的调用

使用方法1函数的使用方法1如下图所示。函数使用时的参数,称为实际参数,如下图中的参数值2和参数值3。这里的2和3,分别对应函数定义时的参数a和参数b。仔细观察下面的代码,学习函数的使用方法。def add(a,b): x=a+b return xy=add(4,5)print(y)在云编辑器中,输入上面的代码,点击运行,输出结果如下图所示。使用方法2函数的使用方法2如下图所示。函数使用时,也可以直接将实际参数赋值给形式参数。这...

2020-07-30 06:38:26 89

原创 (第6天)6.1 函数的创建

(1)函数的定义函数就好比下图所示的机器一样。将输入值2和3,放入机器的内部,经过一系列操作后,将结果值5输出。那么,这个机器我们称为函数;机器的名称,也就是函数的名称,叫做add(a,b);输入值2和3,称为函数的参数;输出值5,称为函数的返回值。所以,这个函数的功能,就是求两个整数值的和。(2)函数的创建明白了函数的概念后,仔细观察,上图中的a和b又是什么含义呢?我们首先来看一下,如何创建一个函数,如下图所示。明白了如何创建一个函数后,大概就知道a和b的含义...

2020-07-30 06:35:18 120

原创 (第5天)5.3 条件表达式判断是否循环:while 句式

while 句式,也是一种循环控制的结构,与for 句式不同的是,它是通过条件真假来控制循环。比方说,同样是打印100张宣传单,可以用for 句式,设置100次打印次数;也可以使用while 句式,当打印次数大于100的时候,就停止打印的任务,也同样达到打印100张宣传单的效果。while 句式的格式如下图所示:英语的while单词,有“直到......”的含义。while 句式中的while 也可以这么理解。后面的循环条件,由条件表达式构成,当它的值一直为True的话,则会一直执行...

2020-07-30 06:34:23 325

原创 (第5天)5.2 设置循环次数:for +range 句式

(1)循环10次前面我们通过for句式循环输出列表的内容为例,讲解了循环控制的使用方法。但有时我们并不想循环输出列表的内容,而是想指定循环的次数,重复执行特定的任务,比如打印输出100张宣传单等等。方法很简单,还是在前面for句式的基础上,将“列表”换成“range(循环次数)”,如下图所示。比如range(5),它表示的含义是循环5次,循环次序从0开始,实际上,range(5),就相当于一个[0,1,2,3,4]的列表。上面的代码可以解读如下:仔细观察下面的代码,学习f...

2020-07-30 06:33:33 1846 1

原创 (第5天)5.1 循环输出列表内容:for 句式

(1)循环控制是什么?在实际编程中,经常会有很多重复的操作。比如,连续打印100张“抗击疫情,人人有责”的宣传单,就需要写100次print()函数。那有没有更简单的办法呢?使用Python中的循环控制就可以,如下图所示。Python中的循环控制就像上图一样,可以发现,在使用循环控制的时候,需要设置一些条件,比如上图的“重复100次输出”,这里的100次就是一个条件。当满足条件时,就会执行循环的动作。循环控制如果用“流程图”来表示的话,如下图所示。(2)for 句式...

2020-07-30 06:32:33 1481

原创 (第4天)4.4 复合条件表达式

(1)逻辑运算符前面的学习我们已经知道,一个条件表达式中,必须含有比较运算符。那么,如果使用多个条件表达式的话,应该使用什么运算符来连接呢?答案是:逻辑运算符。在遇到多个条件表达式(复合条件表达式)的时候,需要使用逻辑运算符进行连接,从而判断整个条件表达式的结果是真,还是假,如下图所示:Python中的逻辑运算符如下表所示: 运算符 作用 例子 解读 and 与...

2020-07-30 06:31:31 453

原创 (第4天)4.3 多种条件下的控制:if~elif~else~

(1)elif 关键字编程中有多个条件需要判断时,可以在 if~else 句式的基础上再添加 elif 关键字。这个 elif 关键字后面需要编写条件表达式。如果表达式的值为True的话,则会执行“:”后面的代码。如下图所示:下面举个例子,看一下如何使用 elif 关键字。上面的代码解读如下:在云编辑中,输入上面的代码,结果如下:(2)条件内部中的条件(嵌套组合)有时根据实际业务情况,还会出现在条件内部,再次进行条件控制的情况。比如说,体温发烧37.5...

2020-07-30 06:04:03 196

原创 (第4天)4.2 一种条件下的控制:if~else~

(1)if 句式如果想使用条件控制的话,首先需要使用 if 关键字,编程行业里也称 if 句式 或 if 语句,如下图所示。if 关键字后必须是条件表达式,如果条件表达式的值为True的话,那么就继续执行“:”后的代码;如果条件表达式的值为“False”的话,则不执行“:”后面的代码。下面举个例子,来看看如何使用 if 关键字,如下图所示。在使用 if 关键字时,要在 if 关键字后面添加一个空格,然后再输入条件表达式;条件表达式的值为True时,执行下面的语句前也要有4...

2020-07-30 06:03:03 209

原创 (第4天)4.1 条件控制是什么?

(1)什么是条件控制:如果体温超过37.5°的话,那该怎么办?如同上面的对话一样,在Python编程中,完成“如果......的话,那么......”的句式功能,把这称为“条件控制”。如下图所示:在学习条件控制之前,首先需要掌握条件控制中必不可少的“条件表达式”和“比较运算符”。(2)条件表达式与比较运算符条件表达式与我们数学课本中的比较运算非常相似。比方说,a>b,这里的“>”,就是比较运算符。而整个“a>b”,我们称作条件表达式。Python程...

2020-07-30 06:02:13 143

原创 (第3天)3.3 字典:可编辑数据+数据标签的U盘

(1)字典是什么字典(英文称为Dictionary)也是一种数据类型,可以存储多个数据,这一点与列表非常相似。但是字典中的元素是用“key:value”的形式来存储数据,使用“{ }”将数据包裹起来,如下图所示。(2)字典的输出与赋值字典的输出字典是通过寻找指定元素的 key,从而输出该元素的 value。如果没有找到该元素的key,将会出现错误。仔细观察下面的代码,学习如何输出字典的元素。a = {'苹果':1,'香蕉':5,'梨':10}...

2020-07-29 06:48:08 100

原创 (第3天)3.2 元组:不可编辑数据的U盘

(1)什么是元组元组(英文称为Tuple)与列表非常相似,也可以存储多个数据。区别在与,元组中的元素一旦赋值后,就无法再修改、删除和变更了,这一点与列表非常不同。如下图所示。(2)元组的赋值元组通过使用“( )”和“,”,将各个元素放到元组中,如下图所示。仔细观察下面的代码,学习如何输出元组的元素。a = (1,2,3)print(a)使用在线云编辑器,输入上面的代码,实现效果如下图所示。(3)元组的修改和删除元组中的元素值是不允许...

2020-07-29 06:44:34 82

原创 (第3天)3.1 列表:可编辑数据的U盘

(1)什么是列表Python中的列表(英文称为List),可以理解为能够存储多个数据项的收纳箱,如下图所示。列表当中的数据项也叫做元素,通过使用“[ ]”和“,”,将各个元素放到列表当中,其中元素在列表中的顺序,称为元素的索引号。列表在一开始没有数据项(初期化)的时候,可以写成下图的方式。列表的一个优点是,可以将不同类型的数据,都放到列表当中,比如字符串和数字等等。如下图所示。(2)列表元素的输出与赋值列表元素的输出列表中的各个元素,可以像前面...

2020-07-29 06:43:38 84

原创 (第2天)2.3 基本数据类型:数字和字符串

(1)数字写在Word文档中的数字,一般分成整数和小数。前面所学的变量,不仅可以写入整数,比如1、2等等,也可以写入小数。观察下面的代码:a = 3.14 #将小数3.14写入变量a中print(a) #将变量a输出使用在线云编辑器,输入上面的代码,执行效果如下:整数、小数或者文字,在Python中都称为一种数据类型。变量写入“值”的时候,会自动变成某一种数据类型。这一点和其它编程语言不同,Python中的变量,不需要一开始就定义数据类型,如下图所示。...

2020-07-29 06:41:45 144

原创 (第2天)2.2 变量的命名规则

(1)变量名只能包含字母、数字和下划线就如同Word文件的命名,需要一定的规则一样,Python中变量的命名也有一定的规则。在变量的起名中,只能使用字母(a~z、A~Z)、数字(0~9)和“_”这三种情况的任意组合。因为变量名区分大小写,所以可以在字母大小写中任意组合。实际上,使用汉语命名变量名的话,也是可以的。但是在真正编程中,都是习惯使用英语字母进行命名。(2)数字开头的名字,不能做变量名尽管数字、字母和“_”可以任意组合变量名,但是如果是数字开头的变量名,程序是会...

2020-07-29 06:40:33 839 1

原创 (第2天)2.1 变量:存储数据的Word文档

(1)变量是什么?很多时候,在印刷工作中,会重复使用某些内容。比如说印刷输出商品的价格,我们当然可以一个一个手动输入,然后印刷输出。但是,当需要修改这些内容的时候,又需要一个一个手动修改操作。可想而知,操作起来特别繁琐,而且容易出错。 所以为了解决这样的问题,“变量”就应运而生。我们可以把“变量”想象成为一个Word文档。每次印刷的内容,都写入到这个Word文档当中。印刷机只需要每次读取Word文档印刷即可,不用考虑文档中的内容是什么。这样,以后修改内容的时候,替换W...

2020-07-29 06:38:05 512

原创 (第1天)1.4 运算符的优先级

(1)运算符的计算有优先级有时候,一个表达式里可能存在很多运算符,那么,这时就需要注意计算的优先顺序,比如加法和乘法同时存在的时候,首先进行乘法运算,然后再进行加法运算。在Python中也是一样,这称为运算符的优先级。优先级相同时,从左到右进行计算;优先级不同时,从优先级高的运算符进行计算。下面举两个例子,如下图所示。Python中运算符的优先级如下表所示: 顺序 运算符 说明 1 (...

2020-07-29 06:36:57 163

原创 (第1天)1.3 算数运算符

(1)“运算符”和“数字”构成“表达式”Python中所谓的计算,就如同我们上数学课时所学的表达式。在四则运算当中,我们使用“+”、“-”、“×”、“÷”等运算符号,那么在Python中,把这样的运算符号称为“运算符”,如下图所示。(2)加减运算下面我们来看一下,在Python中如何进行加减运算。为了显示运算结果,我们这里使用print()函数进行输出,如下图所示。现在只要知道印刷使用print()函数就可以。关于什么是函数,我们会在后面的章节中详细学习。解读上...

2020-07-29 06:35:34 118

原创 (第1天)1.2 在线云编辑器:有网络,就能学Python

在线云编辑器随着“云”的普及,很多原本需要下载到本机电脑的软件,都可以通过网络,在浏览器端就能实现软件相同的功能。比方说,在线Python云编辑器,就可以不必下载Python到本机电脑中,直接通过浏览器就可以编写Python代码。当然,如果是商业化的Python项目,不建议使用在线云编辑器;但是对于Python初学者来说,在线云编辑器就再适合不过了,少去了很多安装各种软件的困难和烦恼,把时间和精力专注在Python语言本身的学习上。所以本教程建议初学者使用在线云编辑器进行学...

2020-07-29 06:34:00 211

原创 (第1天)1.1 认识Python印刷厂

为什么使用Python技术?Python语言是众多编程语言当中的一种。下图列出了目前比较常见的编程语言,你可能听说过其中的一种或几种,那为什么偏偏要使用Python语言技术呢?简洁,易学首先,Python语言对于初学者来说,是非常容易学习的一种语言。这里以做咖喱饭为例,说明Python语言与其它编程语言的关系,如下图所示。如果我们想做咖喱饭,方法一,可以去超市,一个一个购买制作咖喱的原材料,然后做成咖喱酱,再拌到饭里。方法二,可以直接去超市购买已经制作成品的咖喱酱,然后...

2020-07-29 06:29:05 116

原创 少儿创意学编程(Scratch基础篇):源码分享

《少儿创意学编程(Scratch基础篇)》,参考了英国公益组织发起的“code club(代码俱乐部)”——少儿免费学编程活动。愿为中国的少儿创意编程教育尽微薄之力,对国内的家长、信息教师和相关教育机构有所帮助,共同促进软件素质教育的发展。本课程以Scratch软件为教育工具。Scratch是一种图形化编程语言,由麻省理工学院开发。孩子们可以像搭积木一样,拖动和组合代码方块,制作丰富多样的程序,比...

2018-07-02 11:16:39 78320 2

原创 少儿创意学编程(Scratch基础篇):第6课——赛艇比赛

《少儿创意学编程(Scratch基础篇)》,参考了英国公益组织发起的“code club(代码俱乐部)”——少儿免费学编程活动。愿为中国的少儿创意编程教育尽微薄之力,对国内的家长、信息教师和相关教育机构有所帮助,共同促进软件素质教育的发展。本课程以Scratch软件为教育工具。Scratch是一种图形化编程语言,由麻省理工学院开发。孩子们可以像搭积木一样,拖动和组合代码块,制作丰富多样的程序,比如...

2018-07-02 11:15:46 4170

原创 少儿创意学编程(Scratch基础篇):第5课——绘画板

《少儿创意学编程(Scratch基础篇)》,参考了英国公益组织发起的“code club(代码俱乐部)”——少儿免费学编程活动。愿为中国的少儿创意编程教育尽微薄之力,对国内的家长、信息教师和相关教育机构有所帮助,共同促进软件素质教育的发展。本课程以Scratch软件为教育工具。Scratch是一种图形化编程语言,由麻省理工学院开发。孩子们可以像搭积木一样,拖动和组合代码块,制作丰富多样的程序,比如...

2018-06-30 08:45:26 7090

原创 少儿创意学编程(Scratch基础篇):第4课——聊天机器人

《少儿创意学编程(Scratch基础篇)》,参考了英国公益组织发起的“code club(代码俱乐部)”——少儿免费学编程活动。愿为中国的少儿创意编程教育尽微薄之力,对国内的家长、信息教师和相关教育机构有所帮助,共同促进软件素质教育的发展。本课程以Scratch软件为教育工具。Scratch是一种图形化编程语言,由麻省理工学院开发。孩子们可以像搭积木一样,拖动和组合代码块,制作丰富多样的程序,比如...

2018-06-29 09:03:15 7501

原创 少儿创意学编程(Scratch基础篇):第3课——捉鬼敢死队

《少儿创意学编程(Scratch基础篇)》,参考了英国公益组织发起的“code club(代码俱乐部)”——少儿免费学编程活动。愿为中国的少儿创意编程教育尽微薄之力,对国内的家长、信息教师和相关教育机构有所帮助,共同促进软件素质教育的发展。本课程以Scratch软件为教育工具。Scratch是一种图形化编程语言,由麻省理工学院开发。孩子们可以像搭积木一样,拖动和组合代码块,制作丰富多样的程序,比如...

2018-06-28 08:56:25 2737

原创 少儿创意学编程(Scratch基础篇):第2课——太空迷航

《少儿创意学编程(Scratch基础篇)》,参考了英国公益组织发起的“code club(代码俱乐部)”——少儿免费学编程活动。愿为中国的少儿创意编程教育尽微薄之力,对国内的家长、信息教师和相关教育机构有所帮助,共同促进软件素质教育的发展。本课程以Scratch软件为教育工具。Scratch是一种图形化编程语言,由麻省理工学院开发。孩子们可以像搭积木一样,拖动和组合代码块,制作丰富多样的程序,比如...

2018-06-27 09:30:49 5296 1

原创 极简创意编程:第7课——制作人工智能花盆

《极简创意编程——人工智能启蒙课》,参考了相关国家软件素质教育的大纲规范,意在对国内中小学创意编程的推广尽微薄之力。同时也盼望这个课程,能对国内的家长、信息教师和相关教育机构有所帮助,共同促进国内软件素质教育的发展。第1课和第2课主要分析了青少年创意编程的重要性和紧迫性。从第3课开始,进入创意编程的启蒙实践。这些课程均参考了国外主流的编程教育方法,它们分别是:1.以游戏活动为中心的“无代码编程”。...

2018-06-20 14:04:59 2389

原创 极简创意编程:第6课——体验文本型游戏编程

《极简创意编程——人工智能启蒙课》,参考了相关国家软件素质教育的大纲规范,意在对国内中小学创意编程的推广尽微薄之力。同时也盼望这个课程,能对国内的家长、信息教师和相关教育机构有所帮助,共同促进国内软件素质教育的发展。第1课和第2课主要分析了青少年创意编程的重要性和紧迫性。从第3课开始,进入创意编程的启蒙实践。这些课程均参考了国外主流的编程教育方法,它们分别是:1.以游戏活动为中心的“无代码编程”。...

2018-06-14 16:15:58 1326

原创 第4课:扮演机器人,制作三明治

《极简创意编程——人工智能启蒙课》,参考了相关国家软件素质教育的大纲规范,意在对国内中小学创意编程的推广尽微薄之力。同时也盼望这个课程,能对国内的家长、信息教师和相关教育机构有所帮助,共同促进国内软件素质教育的发展。第1课和第2课主要分析了青少年创意编程的重要性和紧迫性。从第3课开始,进入创意编程的启蒙实践。这些课程均参考了国外主流的编程教育方法,它们分别是:1.以游戏活动为中心的...

2018-06-11 15:02:01 477

原创 1个小游戏,无1行代码,轻松学会计算机画图原理

《极简创意编程——人工智能启蒙课》,参考了相关国家软件素质教育的大纲规范,意在对国内中小学创意编程的推广尽微薄之力。同时也盼望这个课程,能对国内的家长、信息教师和相关教育机构有所帮助,共同促进国内软件素质教育的发展。第1课和第2课主要分析了青少年创意编程的重要性和紧迫性。从第3课开始,进入创意编程的启蒙实践。这些课程均参考了国外主流的编程教育方法,它们分别是:1.以游戏活动为中心的...

2018-06-08 11:15:12 1541

原创 第2课:工业革命与创意编程

《极简创意编程——人工智能启蒙课》,参考了相关国家软件素质教育的大纲规范,意在对国内中小学创意编程的推广尽微薄之力。同时也盼望这个课程,能对国内的家长、信息教师和相关教育机构有所帮助,共同促进国内软件素质教育的发展。 百度百科上的资料说,工业革命(The Industrial Revolution )开始于十八世纪六十年代,通常认为它发源于英格兰中部地区,是以机器取代人力,以大规模工厂化生产...

2018-06-05 21:44:00 320

空空如也

空空如也

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

TA关注的人

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