美文网首页大数据 爬虫Python AI Sql
从Excel的数据类型说Python

从Excel的数据类型说Python

作者: 可乐的数据分析之路 | 来源:发表于2020-03-21 14:51 被阅读0次

    写在前面

    这节内容是python基础知识中的数据类型和运算符,可以回顾一下前两篇文章来复习一下:
    利用Excel学习Python:变量
    利用Excel学习Python:准备篇

    本来想分开写的,但发现好像分不开,所幸内容也不多,废话不多说,直接正文怼上来。Excel中有3种基本的数据类型:数值型、字符型和逻辑型,在python中也不例外,我们可以一一对应来看。

    1.数值型

    先来想一下Excel中的数值类型的数据是什么样的,数字、百分数、分数、小数、货币、科学计数、日期和时间这些单元格格式都是数值型的数据,只是展示的形式不一样,并且他们都有一个共同的特点,在单元格的显示中靠右对齐,这里划重点,因为字符型数据是靠左对齐的,用来加以区分。

    image

    在python中,数值型用于存储数字变量,比如整数和小数。

    整型

    数值为整数的变量类型(int),用于存储整数变量,如10,可以用Type()函数查看具体的数值类型,如type(20) 输出int,就可以知道20是整型。

    In [1]: # 整型
          type(20)
    Out[1]:int
    

    浮点型

    数值为小数的变量类型(float),如3.5,输出float,说明5.5是一个浮点型数据。

    In [2]: # 浮点型
          type(5.5)
    Out[2]:float
    

    数值型数据的计算

    整数和浮点数都可以进行算术运算和比较运算,在说运算前,要先来认识运算符。
     算术运算符
    下面的表详细描述了该运算符的符号、用法、结果,以及在python和Excel中各自的输入形式。

    image
    In [3]:# 算术运算符
          x = 5
          y = 10
          print("加:x+y=",x+y)
          print("减:x-y=",x-y)
          print("乘:x*y=",x*y)
          print("除:x/y=",x/y)
          print("取余:x%y=",x%y)
          print("取整:x//y=",x//y)
          print("x的y次幂:x**y=",x**y)
    Out[3]:加:x+y= 15
          减:x-y= -5
          乘:x*y= 50
          除:x/y= 0.5
          取余:x%y= 5
          取整:x//y= 0
          x的y次幂:x**y= 9765625
    

    对比Excel:和Excel对比起来其实都差不多,需要注意一点的是取余相当于Excel里的mod函数,取整可以用Excel里的int函数。

    || 这里还要说一个小坑,可乐以前电脑上装的是python2.7,在做除法(/)计算的时候,得到的结果只能取整,得不到后面小数的部分,现在都是python3.X的版本没有这种问题,但假如你和可乐一样恰好是以前装的2.7版本,要怎么解决这个问题呢?答案也很简单,做一个类型转换,将除数或者被除数转换成浮点型即可,所以说,还是用最新版本的吧,没毛病。

    # python 2.7
    In [4]:2/5
    Out[4]:0
    ---------------------
    # 解决方法
    In [5]:float(2)/5
    Out[5]:0.25
    

     比较运算符
    比较运算符又叫关系运算符,用来进行大于、小于、等于等比较的,表中的结果一列TRUE/FALSE是逻辑值,是本文后面将要介绍的第三种数据类型。

    image
    In[6]: # 关系运算符
          x = 5
          y = 10
          print("大于:x>y = ",x>y)
          print("小于:x<y = ",x<y)
          print("等于:x==y = ",x==y)
          print("大于等于:x>=y = ",x>=y)
          print("小于等于:x<=y = ",x<=y)
          print("不等于:x!=y = ",x!=y)      
    Out[6]:大于:x>y =  False
          小于:x<y =  True
          等于:x==y =  False
          大于等于:x>=y =  False
          小于等于:x<=y =  True
          不等于:x!=y =  True
    

    对比Excel:不等于在python中是!=表示,在excel中是<>表示。

    2.字符型

    字符型的数据在Excel中就是文本格式的数据,不能进行加减乘除这样的四则运算,前面说过它是靠左对齐。

    image

    Python中字符类型的变量用于存储字符串,也就是一系列字符,python中用单引号、双引号或三引号括起来的内容表示字符串。

    In [7]:# 字符串
          type("student")
    Out[7]:str 
    

    字符串的运算

    字符串虽然不能进行加减乘除这样的四则运算,但可以做其他的一系列的运算,如:
     连接

    • 号可以将两个或多个字符串连接起来
    In [8]:# 字符串连接
          "data"+"cola"
    Out[8]:'datacola'
    

     复制

    • 号可以将字符串复制,* 后的数字表示复制多少次
    In [9]:# 字符串复制
          "data_cola"*2
    Out[9]:'data_coladata_cola'
    

     删除
    删除指的是删除字符串中的字符,用到strip()函数,可以删除指定字符

    In [10]:# 字符串删除
          "Ddata_cola".strip("D") #删除D字符
    Out[10]:'data_cola'
    

    也可以删除末尾的空格:

    In [11]:# 删除空格
          "data_cola ".strip()
    Out[11]:'data_cola'
    

     查找
    一个字符串是否包含另一个字符串,可以用in运算符,返回的结果是逻辑值True/False

    In [12]:# 字符串查找
          "a" in "data_cola"
    Out[12]:True
    

    除了in,还可以用find()函数来查找,与in不同的是,查找的结果是字符在字符串中的位置,如下第一个出现的a在data_cola中是第二个位置,因此输出1,这个后面马上写到。

    In [13]:# 字符串查找
          "data_cola".find("a")
    Out[13]:1
    

     字符串索引
    通过对字符串中字符所处位置的选取,得到该值。Python中的索引是从0开始递增,这是正向索引,还有反向索引,是从字符串的最后一位为-1开始递减。已知字符的位置,想要得到该字符的值,用[]括起来,如下对python字符赋值给a,取该字符第一个位置的值,用a[0]表示。

    In [14]:# 字符串索引:获取第一个字符的值
          a = "python"
          a[0]  
    Out[14]:'p'
    
    In [15]:# 字符串索引:获取最后一个字符的值
          a[-1]
    Out[15]:n
    

    【切片】是python中常用的操作,对字符串切片用来获取字符串的一部分字符,下面的[0:2]指的是获取第1到3位的值,不包括第三位

    In [16]:# 获取1-3位的值,不包括第三位(左闭右开)
          a[0:2]
    Out[16]:'py'
    

    [:4],指取第一位到第5位之间的值,不包括第五位

    In [17]:a[:4]
    Out[17]:'pyth'
    

    [3:],指取第4位开始到最后的值

    In [18]:a[3:]
    Out[18]:'hon'
    

     可选地,还有大小写转换
    首字母大写title()函数

    In [19]:# 首字母大写
          "data_cola".title(
    Out[19]:'Data_cola'
    

    所有字母大写,upper()函数

    In [20]:# 所有字母大写
          "data_cola".upper()
    Out[20]:'DATA_COLA'
    

    所有字母小写,lower()函数

    In [21]:# 所有字母小写
          "DATA_COLA".lower()
    Out[21]:'data_cola'
    

    3.逻辑型

    逻辑型数据实际上就是TRUE / FALSE这两种值,在Excel中E1单元格输入公式“=3>5”,会显示FALSE,这很容易理解,因为3>5在逻辑上是假的。

    image

    在Excel里直接这样用很少,通常是和if函数结合起来进行逻辑判断,再对结果进行展示。

    image

    Python中,也是这样显示的。

    IN [22]:1>2
    Out[22]:False
    

    逻辑值的运算

    逻辑值可以用逻辑运算符进行运算。

    image
    In [23]:# 逻辑运算符
          x = 5
          y = 10
          print("and: x and y:",x and y)
          print("or: x or y:",x or y)
          print("not: not x:",not x)
    Out[23]:and: x and y: 10
          or: x or y: 5
          not: not x: False
    

    4.类型转换

    这里主要是数字和字符串之间的转化

    Int(a),把变量a转化成整型

    In [24]:# 浮点型转整型
           int(3.3)
    Out[24]:3
    

    Str(b),把变量b转换成字符型

    In [25]:# 整型转字符型
           type(str(13555556555))
    Out[25]:str
    
    

    以上是3种基本的运算符,专讲python的教程里还会有位运算符、赋值运算符、成员运算符等,我们这个笔记里就不说了先,后续用到再补充。


    @文章属原创,转载请联系作者

    @作者:可乐,数据分析从业者

    @微信公众号:可乐的数据分析之路

    @ 可乐的数据分析交流群也已建立,加作者微信(data_cola),备注进群,拉你入群交流探讨


    二维码.jpg

    相关文章

      网友评论

        本文标题:从Excel的数据类型说Python

        本文链接:https://www.haomeiwen.com/subject/qciyyhtx.html