Python数据科学实践|数据类型

编辑:狗熊会2019-07-30 15:32:04 关键字:Python,coupon,数据,type,iloc,整数,True,变量,函数,复数,Python,数据,字符串,布尔值,火锅

原标题:Python数据科学实践 | 数据类型

Python数据科学实践|数据类型

大家好,基于Python的数据科学实践课程又到来了,大家尽情学习吧。本期内容主要由程茜与政委联合推出。

在前面我们读取了火锅的团购数据之后,最先做的不是直接就对数据进行分析,而是要了解数据。俗话说,知己知彼,方能百战百胜,所以了解数据就从数据类型与结构开始吧。

基本数据类型

Python有很多数据类型,这里我们将会简要介绍布尔值,整数,浮点数,复数,字符串与时间类型。

1、整数

整数又称为整型,也就是int类型。在Python中,可以直接对整数进行算数运算。整数与数学中定义的整数概念一致。比如1,-2,45687等等。

数据分析中,经常需要知道变量是什么类型才可以进行相应的运算。在Python中有一个type 函数,可以用来查看基本的数据类型。

语法:type(变量名) 用来查看变量的数据类型

1type(200) #返回值int

2type(-1) #返回值int

3type(pow(2,10)) #返回值int,pow(2,10)是2的10次方

4type(True) #返回值bool

看到这里,大家肯定会问,导入一个数据集后,每个数据集有很多个变量,我不能一个一个查看数据类型吧。这里给大家再讲一个函数,dtypes函数,可以用来查看所有字段的数据类型。继续在coupon这个数据集上使用。

例1

1coupon.dtypes

运行结果如下:

Python数据科学实践|数据类型

图1

可以看到“团购活动ID”“与购买人数”都是整数变量。大家思考一下,“团购活动ID”需要用整数变量来存储吗?

2、浮点数

简单的说就是带小数点的数字,也就是float型。例如

1type(85.0) #返回值float

2type(4/5) #返回值float

在图2中可以看到,团购价、市场价等都是浮点数。具体来看一个例子,“六婆串串香火锅”团购的团购价“85.0”为浮点数。

Python数据科学实践|数据类型

图2

3、复数

Python中,复数的虚数部分通过后缀“j”来表示,例如:

例2

112.3+4j #创建复数

还可以使用real和imag函数来查看复数的实部和虚部。

例3

1(3+1 j) .real#返回值3 .0

2(3+1 j) .imag#返回值1 .0

在这里划一下重点:虚部的系数如果是1,也需要写出来哈!不信你可以试试!

4、布尔值

布尔值就是逻辑值,“对”或者“错”,“是”或者“否”。就像人们对火锅的态度只有“爱”或者“不爱”,这就对应了逻辑值True和False。它们的主要用途是进行逻辑运算,所以可以通过“==”,“>”,"<"等创建布尔值。首先,来看一些简单的例子。

11== 1#返回值True

21> 2#返回值False

31!= 2#返回值True

4( 1!= 2) and( 1== 1) #返回值True

5( 1!= 2) or( 1> 2) #返回值False

那么,逻辑运算能在数据分析中帮我们做什么呢?这里咱们回到火锅的例子上。首先,导入coupon_nm数据集。这里如下图可以发现,在coupon中,第一行和第三行的团购名都是“壹分之贰豪华生日派对套餐”。那么一个自然的问题是它们到底是不是同一个团购呢?

Python数据科学实践|数据类型

图3

解决的办法是通过比对团购ID来确定是不是同一个团购活动,这时候就可以用到布尔运算。

具体操作代码如下:

例4

1coupon.iloc[0,2] == coupon.iloc[2,2] #如果不做特殊说明,本书都假设读者已经导入了需要使用的数据集。

由于二者相等这件事不成立,所以这个布尔运算返回了False。在Python中,利用Pandas模块导入的数据都以数据框(Data Frame)的方式存储。而从数据框中取出某行某列就需要在数据集后加.iloc,并用方括号[ ,]表示行列的位置,行数在前,列数在后。但是要注意Python中从零开始计数,所以coupon.iloc[0,2]表示第一行第三列,coupon.iloc[2,2]表示第三行第三列。这些具体的函数操作都会在后面讲解,这里大家可以先去试着理解布尔运算的用途。

当然,还可以利用布尔值寻找需要的数据。比如,最近大家都很喜欢吃“六婆串串香火锅”,那么如何找到“六婆串串香火锅”的数据呢?大家可以试试下面的方法。

例5

1coupon[coupon[ '店名']== '六婆串串香火锅']

如图4所示,利用布尔值,一行代码就可以寻找到需要的数据。

Python数据科学实践|数据类型

图4

布尔数据类型会经常在数据科学的实践中使用,其目的就是通过快速实现简单的逻辑运算来处理数据。

5、字符串类型

5.1

字符串的表示

字符串就是一系列字符,也就是str型。简单来讲,就是用一对单引号(')、双引号(")或三引号(''')括起来的一串字符。比如:''Python分析火锅数据'','Python'等。

例6

1type( '六婆串串香火锅') #返回值str

其中,'六婆串串香火锅'是字符串str类型。

5.2

字符串的常用操作

Python提供了5种常用的操作,分别是“+”(字符串拼接)、“*”(复制)、“in”(是否在字符串中),单个索引和切片索引,len(字符串长度)。

例7

1name= '六婆串串香火锅'

2name* 3#返回值为 '六婆串串香火锅六婆串串香火锅六婆串串香火锅'

3'六婆'inname#返回值为True

4name[ 0] #返回值为 '六'

5name[ 2: 4] #返回值为 '串串'

6len( name) #返回值为 7

字符串类型的数据其实是通过一种特殊的数据结构列表(list)存储的。更多的理解字符串的例子可以从下面的数据结构的介绍中获得。

6、数据类型转换

数据类型转换在项目实践中经常用到,比如一个火锅店的月销售额是一个字符类型,转换为数字类型才可以进行统计分析,比如计算均值。Python提供了便捷的数据类型转换函数。举例如下表:

表1

Python数据科学实践|数据类型

火锅数据中的字段“团购活动ID”,Python认为它是数值型。但是,此时客户ID相加减是没有意义的,其本质是字符串。这就需要更改数值型数据为字符型数据。str函数就成功的将第一条数据的ID“38744470”转换成字符串'38744470'。

例8

1ID = coupon.loc[0,'团购活动ID']

2ID = str(ID) #转换数据类型

3print(type(ID)) #返回值为str

好了,今天就讲到这里。

Python数据科学实践|数据类型

作业:请大家导入shops_nm.xlsx数据,查看每个变量的数据类型,并查看商铺中是否有“六婆串串香火锅”的信息。

Python数据科学实践|数据类型

Python数据科学实践|数据类型

责任编辑:

相关文章
6月中国厂商出海收入30强榜单公布:腾讯排名下滑 掌趣科技、易幻网络跌出榜单

6月中国厂商出海收入30强榜单公布:腾讯排名下滑 掌趣科技、易幻网络跌出榜单

中国网科技7月30日讯(记者 李婷)市场研究机构App Annie近日发布2020年6月中国厂商出海收入30强榜单,FunPlus(趣加)取代[详情]

凯迪拉克怎么了?

凯迪拉克怎么了?

题图:GM authority随着 2020 年新冠疫情逐步趋稳,很多事已经没法再让疫情背锅了。先是跌入谷底,再是触底回升,上半年国内汽[详情]

运载火箭可用固体燃料 美再为韩国研制弹道导弹“松绑”

运载火箭可用固体燃料 美再为韩国研制弹道导弹“松绑”

据韩联社首尔7月28日报道,韩国7月28日宣布,根据与美国达成的新导弹指南,该国已能研发使用固体推进剂的火箭。他在新闻发布[详情]

意大利餐厅服务员确诊 追踪发现某些顾客留假信息

意大利餐厅服务员确诊 追踪发现某些顾客留假信息

欧联网7月30日电,据欧联通讯社报道,意大利坎帕尼亚大区卫生部门28日通报,当日该地区新增确诊病例29例,那不勒斯省维科·埃[详情]

元晟溱:柯洁很有才能 他与李世石风格相似却不同

元晟溱:柯洁很有才能 他与李世石风格相似却不同

韩国棋手元晟溱九段  据韩国乌鹭网报道,韩国棋手元晟溱在10多岁的时候就已经达到了世界超一流棋手的水平。在20岁中期[详情]

contact us

Copyright     2018-2028   All rights reserved.