• 数据分析(三)Pandas


    一.Pandas的简介

    pandas是一个强大的Python数据分析的工具包,它是基于Numpy构建的,正因pandas的出现,让Python语言也成为使用最广泛而且强大的数据分析环境之一。

    Pandas的主要功能:

    • 具备对其功能的数据结构DataFrame,Series
    • 集成时间序列功能
    • 提供丰富的数学运算和操作
    • 灵活处理缺失数据

    安装方法:

    pip install pandas

    引用方法:

    import pandas as pd

    二.Pandas之Series

    Series是一种类似于一维数组的对象,由一组数据和一组与之相关的数据标签(索引)组成

    1.创建和取值方式

    第一种

    第二种

    第三种

    生成一个全是0的数组

    2.对缺失数据的填充

    共有四种方式

    • dropna() # 过滤掉值为NaN的行
    • fill() # 填充缺失数据
    • isnull() # 返回布尔数组,缺失值对应为True
    • notnull() # 返回布尔数组,缺失值对应为False

    3.Series特性

    和numpy相同的特性

    • 从ndarray创建Series:Series(arr)
    • 与标量(数字):sr * 2
    • 两个Series运算
    • 通用函数:np.ads(sr)
    • 布尔值过滤:sr[sr>0]
    • 统计函数:mean()、sum()、cumsum()

    支持字典的特性

    • 从字典创建Series:Series(dic),
    • In运算:'a'in sr、for x in sr
    • 键索引:sr['a'],sr[['a','b','d']]
    • 键切片:sr['a':'c']
    • 其他函数:get('a',default=0)等

    4.整数索引

    pandas当中的整数索引对象可能会让初次接触它的人很懵逼,接下来通过代码演示:

    sr = pd.Series(np.arange(10))
    sr1 = sr[3:].copy()
    sr1
    运行结果:
    3    3
    4    4
    5    5
    6    6
    7    7
    8    8
    9    9
    dtype: int32
    # 到这里会发现很正常,一点问题都没有,可是当使用整数索引取值的时候就会出现问题了。因为在pandas当中使用整数索引取值是优先以标签解释的,而不是下标
    sr1[1]

    解决方法:

    • loc属性 # 以标签解释
    • iloc属性 # 以下标解释

    5.Series数据对齐

    pandas在运算时,会按索引进行对齐然后计算。如果存在不同的索引,则结果的索引是两个操作数索引的并集。

    灵活的算术方法:add,sub,div,mul

    二.Pandas之DataFrame

    DataFrame是一个表格型的数据结构,相当于是一个二维数组,含有一组有序的列。他可以被看做是由Series组成的字典,并且共用一个索引。

    1.创建和取值方式

    第一种

    第二种

    2.常用的属性和方法

    • index 获取行索引
    • columns 获取列索引
    • T 转置
    • values 获取值索引
    • describe 获取快速统计

    3.操作表格

    4.读取网页的表格

    例:读取百度百科NBA总冠军并从中筛选数据

    a.读取历年数据

    b.将表格进行筛选整理并写到文件中

    c.筛选出历年的冠军并根据获得冠军次数进行排序

     d.筛选出历年FMVP,并根据次数排序

    5.时间对象处理

    时间序列类型

    • 时间戳:特定时刻
    • 固定时期:如2019年1月
    • 时间间隔:起始时间-结束时间

    Python库:datatime

    • date、time、datetime、timedelta
    • dt.strftime()
    • strptime()

     99

  • 相关阅读:
    转载Python中__getattr__ __getattribute__ __get__解释
    python异常介绍
    Javascript创建对象的几种方式
    python类高级话题
    python运算符重载2
    python运算符重载
    python面向对象编程基础
    PHP学习之提示标签
    Web自动化测试构建学习小结(二)
    Web自动化测试构建学习小结(一)
  • 原文地址:https://www.cnblogs.com/sxchen/p/11980082.html
Copyright © 2020-2023  润新知