美文网首页
Python数据分析-基础知识整理

Python数据分析-基础知识整理

作者: fairy小倩 | 来源:发表于2020-05-06 10:20 被阅读0次

    数据分析需掌握的基础知识

    • 1、Python 常用数据类型
    • 2、字符串常用模块、函数和操作
    • 3、日期
    • 4、Python基本数据结构
    • 5、控制流
    • 6、自定义函数

    1、Python 常用数据类型

    四种基本数据类型

    数据类型 英文 举例
    整数 Integer i=1
    浮点数 Floats n=1.23
    字符串 String str='你好'
    布尔类型 Booleans b=True

    type()函数

    type函数可以查看变量的数据类型,示例如下:

    i=1
    n=1.23
    str='你好'
    b=True
    print(type(i))
    print(type(n))
    print(type(str))
    print(type(True))
    
    

    输出结果为:


    image.png

    2、字符串常用模块、函数和操作

    使用引号包含字符串

    使用符号 输出效果
    单个引号('') 输出引号内的字符
    3个引号(''') 允许字符串跨多行,所见即所得格式

    示例如下:

    var1 = 'Hello World!'
    var2='''hello 
    world!
    '''
    print(var1)
    print('----------')
    print(var2)
    
    

    输出结果为:


    image.png

    字符串转义字符反斜杠(\)

    在字符串中使用特殊字符,用反斜杠转义

    常用转义字符 描述
    (在行末尾) 续行符
    \ 反斜杠符号
    ' 单引号
    " 双引号
    \n 换行
    \r 回车

    字符串运算

    a='Hello',b='World'

    操作符 描述 示例
    + 字符串连接 a+b 输出 HelloWorld
    * 重复输出字符串 a*2 输出 HelloHello
    [] 通过索引获取字符串中的字符 a[1] 输出e
    [:] 截取字符串的一部分,左闭右开 ,从0开始 a[1:4]输出 ell

    示例如下:

    a='Hello'
    b='World'
    print("a + b 输出结果:", a + b)
    print("a * 2 输出结果:", a * 2)
    print("a[1] 输出结果:", a[1])
    print("a[1:4] 输出结果:", a[1:4])
    
    

    输出结果为:


    image.png

    字符串处理标准库String常用函数

    函数 描述 方法
    split 将一个字符串拆分成一个子字符串列表 split('str',num),使用str字符进行拆分,,截取num+1个子字符串
    join 将序列中的元素以指定的字符连接生成新的字符串 str.join(seq),seq为要连接的元素序列,以指定字符串str作为分隔符,将seq中所有的元素合并为一个新的字符串
    strip 截取字符串的空格或指定字符 lstrip()截取左侧字符,rstrip()截取右侧字符,strip()截取两侧字符。str.lstrip([chars])
    replace 将字符串中的一个或一组字符替换为另一个或一组字符 str.replace(old,new,max),max替换不超过max次
    lower 将字符串中的所有大写字符转换为小写字符 str.lower()
    upper 将字符串中的所有小写字符转换为大写字符 str.upper()
    capitalize 将字符串中的第一个字母变成大写 str.capitalize()
    len 返回对象(字符、列表、元祖)等的长度或项目个数 len(s),s为对象

    示例如下:

    print('--------split示例---------')
    a='My name is lily'
    a1=a.split(' ',2)
    print(a1)
    print('\n')
    
    print('--------join示例----------')
    str = "-"
    seq = ("a", "b", "c")
    print (str.join( seq ))
    print('\n')
    
    print('--------strip示例----------')
    str = "     Hello World!!!     "
    print( str.lstrip() )
    print( str.rstrip() )
    print( str.strip() )
    str = "88888888Hello World!!!8888888"
    print( str.lstrip('8') )
    print( str.rstrip('8') )
    print( str.strip('8') )
    print('\n')
    
    print('--------replace示例----------')
    str = "this is string example....wow!!!this is string example....wow!!!"
    print (str.replace("is", "was",3))
    print('\n')
    
    print('--------lower,upper,capitalize,len示例----------')
    str='hello World'
    print('lower:'+str.lower())
    print('upper:'+str.upper())
    print('capitalize:'+str.capitalize())
    print(len(str))
    
    

    输出结果为:


    image.png

    3、日期

    Python中包含了datetime模块,提供了非常强大的功能来处理日期和时间
    常用对象:

    对象 描述
    date 包含年月日
    datetime 包含年月日、时分秒

    示例如下:

    from datetime import date, time, datetime, timedelta
    today = date.today()
    print(today)
    
    current_datetime = datetime.today()
    print(current_datetime)
    
    

    输出结果为:


    image.png

    获取年月日

    函数 说明 示例
    year 获取年份 [图片上传失败...(image-58fffb-1588731044908)]
    month 获取月份 [图片上传失败...(image-ddf025-1588731044908)]
    day 获取日期 [图片上传失败...(image-412ddf-1588731044908)]

    timedelta函数

    timedelta 本身代表一个时间差,可以在 date 或 datetime 类型间做时间差运算。
    timedelta只存储days,seconds,microseconds三个值,其他类型会自动换算
    示例如下:

    a = datetime.now()
    b = datetime.utcnow()
    a - b
    
    

    输出结果为:


    image.png

    对datetime对象进行时间加减操作:

    now = datetime.now()
    aDay = timedelta(days=1)
    aWeek = timedelta(weeks=1)
    aHour = timedelta(hours=1)
    print(aDay)
    print(aWeek)
    print(aHour)
    now_day = now + aDay
    now_week= now + aWeek
    now_hour= now + aHour
    print(now_day )
    print(now_week )
    print(now_hour )
    
    

    输入结果为:


    image.png

    strftime函数

    用来格式化datetime对象:datetime.strftime('%')

    常用格式符 说明
    %Y 四个数字的年份 2020
    %y 二个数字的年份 20
    %m 返回月份,范围[0,12]
    %d 当前时间是当前月的第几天
    %a 星期的英文缩写,Mon
    %A 星期的英文全拼,Monday
    %b 月份的英文缩写,Jan
    %B 月份的英文全拼,January
    %H 以24小时制表示当前小时
    %h 以12小时制表示当前小时
    %M 返回分钟数 范围 [0,59]
    %S 返回秒数 范围 [0,61]
    %P 返回是上午还是下午 AM or PM
    %c 返回datetime的字符串表示,如03/08/15 23:01:26
    %x 日期的字符串表示 :03/08/15
    %X 时间的字符串表示 :23:22:00

    示例如下:

    from datetime import datetime
    dt = datetime.now()  
    print ('时间:(%Y-%m-%d %H:%M:%S %f): ' , dt.strftime( '%Y-%m-%d %H:%M:%S' ))
    
    

    运行结果为:


    image.png

    4、Python基本数据结构

    常见的四种数据结构对比表格:

    操作 列表List 元组Tuple 字典Dictionary 集合set
    简介 最常用的数据类型[x,y,z] 类似于列表但固定长度,不可变(x,y,z) 一种可变容器模型{key1:value1,key2:value2} 无序且元素唯一的容器{x,y,z}
    用处 简单有序的,经常被修改的数据集合,具体元素值不经常被查询 一个不变的数据集合 经常被修改、被查询的键&值对 展现一个数据集合中出现的独特元素的集合
    创建 new_list=[1,1,'string'] new_tup=(1,1,'string') new_dic={'key_a':1,'key_b':1,'key_c':'string'} new_set={1,1,'string'} print(new_set)-->{1,'string'}
    重复元素 可重复 可重复 键不可以重复,值可以重复 不可重复
    是否有序
    值是否可变可变 不可变 可变 可变
    取单个子集(数字索引从0开始) new_list[0] new_tup[0] new_dic{'key_a'} 不能被取子集
    切片取子集 new_list[x:y] (从第x开始,取到第y个(不包含y)) 同list 不能被取切片子集 不能被取切片子集
    修改元素 new_list[0]=0 不可修改 New_dic['key_c']=2 间接通过增加/删除元素完成
    增加元素 append方法加到尾部:new_list.append('extra') ;insert方法插入到指定位置:new_list.insert(1,'extra') 不可变 new_dict['key_new']='extra'; update方法增加多个值:new_dict.update(key_d=3,key_e=4) add方法增加一个值:new_set.add(3) update方法增加多个值:new_set.update([3,4,5])
    删除元素 pop方法删除特定位置的元素:new_list.pop(1); remove方法删除特定值:new_list.remove(1) 不可变 del函数按键名删除:del(new_dict('key_a')) remove方法删除一个值:new_set.remove('string')
    创建空×× empty_list=[] empty_tup=() empty_dic={} empty_set=set()

    5、控制流

    条件语句

    当“判断条件”成立时,则执行后面的语句,执行内容可以多行,以缩进来区分表示同一范围,else为可选语句,当需要在条件不成立时执行内容。

    if语句执行过程:

    image.png

    通常情况下,判断条件为多个时,可使用如下形式:

     if 判断条件1:
            执行语句1......
     elif 判断条件2:
            执行语句2......
     elif 判断条件3:
            执行语句3......
     else:
            执行语句4......
    
    

    示例如下:

    num = 5     
    if num == 3:            # 判断num的值
        print('boss')       
    elif num == 2:
        print('user')
    elif num == 1:
        print('worker')
    elif num < 0:           # 值小于零时输出
        print ('error')
    else:
        print ('roadman')    # 条件均不成立时输出
    
    

    输出结果:


    image.png

    循环语句

    程序一般情况下是按顺序执行的。循环语句允许我们执行一个语句或与剧组多次。执行过程如下:

    image.png
    循环类型 描述
    while循环 在给定的判断条件为True时执行循环,否则退出循环体
    for循环 重复执行语句
    嵌套循环 while循环体和for循环体可以相互嵌入

    while循环

    语法如下:

    while 判断条件:
        执行语句......
    
    

    流程图:

    image.png

    示例如下:

    count = 0
    while (count < 5):
       print ('The count is:', count)
       count = count + 1
    
    else:
        print ("Good bye!")
    
    

    输出结果为:


    image.png

    for循环

    可以遍历任何序列的项目,如一个列表或者一个字符串。

    语法如下:

    for 元素 in 序列:
       代码块
    
    

    流程图:

    image.png

    示例如下:

    for letter in 'Python':     # 第一个实例
       print( '当前字母 :', letter)
    
    fruits = ['banana', 'apple',  'mango']
    for fruit in fruits:        # 第二个实例
       print ('当前水果 :', fruit)
    
    print ('Good bye!')
    
    

    运行结果为:


    image.png

    循环嵌套

    示例如下:

    i = 2
    while(i < 10):
       j = 2
       while(j <= (i/j)):
          if not(i%j): break
          j = j + 1
       if (j > i/j) : print (i, " 是素数")
       i = i + 1
    
    print ("Good bye!")
    
    

    运行结果为:

    image.png

    循环控制语句

    控制语句 描述
    break语句 在语句块执行过程中终止循环,并且跳出整个循环
    continue语句 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环
    pass语句 空语句,为了保持程序结构的完整性

    6、自定义函数

    def自定义函数

    语法如下:

    def 自定义函数名称(x,y):
        代码块
        return
    
    

    示例如下:

    def cal(x,y=1):#y设置1为默认值
        result=x*x+y
        return result
    print(cal(2))
    print(cal(2,3))
    
    

    输出结果为:


    image.png

    lambda匿名函数

    通过单个语句生成函数的方式

    示例如下:

    cal=lambda x,y=1: x*x+y
    print(cal(2))
    print(cal(2,3))
    
    

    输入结果为:


    image.png

    其中:lambda为关键词,x,y为函数自变量,x*x+y为函数返回值的代码表达式。

    相关文章

      网友评论

          本文标题:Python数据分析-基础知识整理

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