原标题: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

运行结果如下:

图1

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

2、浮点数

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

1type(85.0) #返回值float

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

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

图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中,第一行和第三行的团购名都是“壹分之贰豪华生日派对套餐”。那么一个自然的问题是它们到底是不是同一个团购呢?

图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所示,利用布尔值,一行代码就可以寻找到需要的数据。

图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

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

例8

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

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

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

好了,今天就讲到这里。

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

责任编辑:

查看数值类型python_Python数据科学实践 | 数据类型相关推荐

  1. 查看数值类型python_python里怎么查看数据类型

    原博文 2019-11-02 20:50 − python里怎么查看数据类型? python里可以通过type()函数来查看数据类型. Python 内置函数 Python 内置函数 Python t ...

  2. 查看数值类型python_python 查询数据库返回的数据类型

    self.conn=MySQLdb.connect(host='localhost',port=3306, user='keystone', passwd='OptValley@4312', db=s ...

  3. 查看数值类型python_python怎么看数据类型

    type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象. type():不会认为子类是父类(推荐学习:Python视频教程) 以下是 type() 方法的语法:class t ...

  4. .net里鼠标选中的text数据怎么获取_Python数据科学实践 | 爬虫1

    点击上方蓝色字体,关注我们 大家好,基于Python的数据科学实践课程又到来了,大家尽情学习吧.本期内容主要由智亿同学与政委联合推出. 前面几章大家学习了如何利用Python处理与清洗数据,如何探索性 ...

  5. python 数据库表结构转为类_Python数据科学实践 | 数据库1

    大家好,基于Python的数据科学实践课程又到来了,大家尽情学习吧.本期内容主要由智亿同学与政委联合推出. 数据库永远是数据管理上最值得使用的工具.而把所收集的大量数据放入数据库之后再处理是数据科学实 ...

  6. 《Python数据科学实践指南》——0.2节如何成为数据科学家

    本节书摘来自华章社区<Python数据科学实践指南>一书中的第0章,第0.2节如何成为数据科学家,作者纪路,更多章节内容可以访问云栖社区"华章社区"公众号查看 0.2 ...

  7. python 分组箱线图_Python数据科学实践 | 绘图模块4

    点击关注了解更多精彩内容!! 大家好,基于Python的数据科学实践课程又到来了,大家尽情学习吧.本期内容主要由智亿同学与政委联合推出. 本次将继续学习如何用Plotly绘制更加美观的统计图.具体的, ...

  8. 《Python 数据科学实践指南》读书笔记

    文章提纲 全书总评 C01.Python 介绍 Python 版本 Python 解释器 Python 之禅 C02.Python 基础知识 基础知识 流程控制: 函数及异常 函数: 异常 字符串 获 ...

  9. python数据科学实践 常象宇_python数据科学

    Python语言拥有大量可用于存储.操作和洞察数据的程序库,已然成为深受数据科学研究人员推崇的工具.本书以IPython.NumPy.Pandas.Matplotlib和Scikit-Learn这5个 ...

最新文章

  1. 价值为王,市场需要降温
  2. 搜狗高速浏览器提示您 怎么关闭_那些浏览器中的快捷键们
  3. mysql 不匹配的_mysql – 如何从两个表中获取不匹配的记录
  4. 【Q】之防火墙的SNAT DANT原理应用
  5. 【Linux】一步一步学Linux——ulimit命令(218)
  6. OpenCV与图像处理学习三——线段、矩形、圆、椭圆、多边形的绘制以及文字的添加
  7. java jdbc 操作_Java:JDBC操作
  8. 畅游互联的API接口如何对接到自己的网站上?
  9. java 匿名类实现6_java匿名内部类,以及实现Comparato和Comparable接口实现对对象的排序...
  10. 中国高校鄙视链指南...
  11. 创业/商业计划书10大禁忌
  12. 两年多的腰疼,近十年的头皮屑,最终被我自己治疗好了(一)
  13. 手把手教学endnote设置毕业论文参考文献格式(特别完整)
  14. 单因素方差分析 OR 重复测量方差分析
  15. 未对销售组织 XXX 分销渠道 XX 语言 ZH 定义
  16. 小学生c语言入门教程,小学生都看得懂的C语言入门(5): 指针
  17. 深蓝词库转换1.9发布——支持英库拼音、搜狗bin格式、FIT、中州韵等
  18. 企业版IDP的申请及“In House”发布
  19. [案例]信息巨头Carfax如何打造数据产品
  20. h5在线制作平台h5案例分享

热门文章

  1. 手机可以实现利用putty来管理Linux服务器
  2. 中国航天人才市场网站被黑达90余天
  3. 8086汇编语言实现8253计时器对时且实时定点显示时间(全注释)
  4. linux搭建Django环境,linux下搭建python Django环境及启动一个示例
  5. 超全面整理,Selenium 八大元素定位方式,(建议收藏反复使用)
  6. 软件测试岗位,BAT大厂面试题集锦
  7. python线程按照顺序执行_Python3多线程之间的执行顺序问题
  8. Linux查看进程下的线程
  9. Excel在表格框中插入对勾✅
  10. j剑指offer面试题[33]-把数组排成最小的数