码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【数据可视化】第四章—— 基于pandas的数据可视化(pandas数据结构)


    文章目录

    • 前言
    • 1. Pandas库的引用
    • 2. Pandas库的数据类型
      • 2.1 Series类型
      • 2.2 Series创建方式
      • 2.3 Series类型的基本操作
        • 2.3.1 Series类型的切片和索引
        • 2.3.2 Series类型的对齐操作
        • 2.3.3 Series类型的name属性
        • 2.3.4 Series类型的修改
      • 2.4 DataFrame类型
      • 2.5 DataFrame类型创建
      • 2.6 DataFrame的索引
        • 2.6.1 loc 通过标签索引数据
        • 2.6.2 iloc 通过位置获取数据
        • 2.6.3 bool索引
        • 2.6.4 DataFrame整体情况查询
      • 2.7 DataFrame的基础属性
    • 3. 缺失数据的处理
      • 3.1 处理NaN数据


    前言

    ❓为什么要学习pandas❓

    NumPy已经能够帮助我们处理数据,能够结合matplotlib解决我们数据分析的问题,那么pandas学习的目的在什么地方呢?

    NumPy能够帮我们处理处理数值型数据,但是这还不够,很多时候,我们的数据除了数值之外,还有字符串,还有时间序列等,所以,NumPy能够帮助我们处理数值,但是pandas除了处理数值之外(基于NumPy),还能够帮助我们处理其他类型的数据。

    1. Pandas库的引用

    Pandas是Python第三方库,提供高性能易用数据类型和分析工具。

    import pandas as pd
    
    • 1

    ▫️Pandas基于NumPy实现,常与NumPy和Matplotlib一同使用.
    在这里插入图片描述
    🔹计算前N项累加和
    在这里插入图片描述
    Series DataFrame
    ▫️基于上述数据类型的各类操作
    ▫️基本操作、运算操作、特征类操作、关联类操作

    NumPy

    • 基础数据类型
    • 关注数据的结构表达
    • 维度:数据间的关系

    Pandas

    • 扩展数据类型
    • 关注数据的应用表达
    • 数据与索引之间的关系

    2. Pandas库的数据类型

    2.1 Series类型

    Series类型由一组数据及与之相关的数据索引组成.
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    2.2 Series创建方式

    • Python列表
    • 标量值
      在这里插入图片描述
    • Python字典
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    NumPy中NaN为float,pandas会自动根据数据类型更改series的dtype类型

    • ndarray
      在这里插入图片描述
      在这里插入图片描述
    • 其他函数
      range()等

    2.3 Series类型的基本操作

    • Series类型包括index和values两部分
      在这里插入图片描述

    • Series类型的操作类似ndarray类型

    • Series类型的操作类似Python字典类型

      • 通过自定义索引访问
      • 保留字典in操作
      • 使用.get()方法
        在这里插入图片描述在这里插入图片描述

    2.3.1 Series类型的切片和索引

    • 索引方法采用[ ]
      在这里插入图片描述
      在这里插入图片描述

    • NumPy中运算和操作可用于Series类型

    • 可以通过自定义索引的列表进行切片

    • 可以通过自动索引进行切片,如果存在自定义索引,则一同被切片
      在这里插入图片描述
      在这里插入图片描述

    2.3.2 Series类型的对齐操作

    Series类型在运算中会自动对齐不同索引的数据。
    在这里插入图片描述

    2.3.3 Series类型的name属性

    Series对象和索引都可以有一个名字,存储在属性.name中
    在这里插入图片描述

    2.3.4 Series类型的修改

    Series对象可以随时修改并即刻生效
    在这里插入图片描述

    在这里插入图片描述

    2.4 DataFrame类型

    DataFrame类型由共用相同索引的一组列组成。
    在这里插入图片描述
    DataFrame对象既有行索引,又有列索引

    • 行索引,表明不同行,叫index,0轴,axis=0
    • 列索引,表名不同列,叫columns,1轴,axis=1
      在这里插入图片描述

    DataFrame是一个表格型的数据类型,每列值类型可以不同
    DataFrame既有行索引、也有列索引
    DataFrame常用于表达二维数据,但可以表达多维数据

    在这里插入图片描述
    在这里插入图片描述
    问题:

    1. DataFrame和Series有什么关系呢?

    2. Series能够传入字典,那么DataFrame能够传入字典作为数据么?

    3. 对于一个DataFrame类型,既有行索引,又有列索引,我们能够对他做什么操作呢

    2.5 DataFrame类型创建

    • 二维ndarray对象
      在这里插入图片描述
      在这里插入图片描述

    • 由一维ndarray、列表、字典、元组或Series构成的字典

      • 从Series类型的字典创建
        在这里插入图片描述
        在这里插入图片描述
      • 从列表类型的字典创建
        在这里插入图片描述
      • 从列表类型的字典创建
        在这里插入图片描述
    • Series

    • 其他的DataFrame类型

    🔹实例
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.6 DataFrame的索引

    • 方括号里为数,则表示取行,对行进行操作
    • 方括号里为字符串,表示取列行,先对列后对行进行操作

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    2.6.1 loc 通过标签索引数据

    在这里插入图片描述
    在这里插入图片描述

    2.6.2 iloc 通过位置获取数据

    在这里插入图片描述
    在这里插入图片描述

    2.6.3 bool索引

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.6.4 DataFrame整体情况查询

    • .head(3) # 显示头部几行,默认5行
    • .tail(3) # 显示末尾几行,默认5行
    • .info() # 相关信息概览:行数,列数,列索引,列非空值个数,列类型,内存占用

    在这里插入图片描述

    2.7 DataFrame的基础属性

    • .shape # 行数 列数
    • .dtypes # 列数据类型
    • .ndim # 数据维度
    • .index # 行索引
    • .columns # 列索引
    • .values # 对象值,二维ndarray数组
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    3. 缺失数据的处理

    我们的数据缺失通常有两种情况:
    1️⃣一种就是空,None等,在pandas是NaN(和np.nan一样)
    2️⃣另一种是我们让其为0
    在这里插入图片描述

    3.1 处理NaN数据

    对于NaN的数据,在numpy中我们是如何处理的?在这里插入图片描述
    在pandas中处理起来非常容易

    判断数据是否为NaN:

    pd.isnull(df),pd.notnull(df)
    
    • 1

    处理方式1:删除NaN所在的行列

    dropna (axis=0, how='any', inplace=False)
    
    • 1

    处理方式2:填充数据,计算平均值等情况,nan是不参与计算的

    t.fillna(t.mean()),t.fillna(t.median()),t.fillna(0)
    
    • 1

    🔹实例:
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    【web-解析目标】(1.2.1)解析应用程序:确定用户输入入口
    8.Java数组
    “先进计算”领域仍待开拓,猿代码做先进计算人才的引路人
    H3C SecParh堡垒机 data_provider.php 远程命令执行漏洞
    机器人控制器编程实践指导书旧版-实践二 传感器(模拟量)
    MySQL学习笔记:模型2
    【ESP 保姆级教程】疯狂Node.js服务器篇 ——nodejs应用部署到腾讯云,实现公网访问
    热门新游 2024 植物大战僵尸杂交版 Mac 版本下载安装详细教程
    二、图像处理
    使用HTML+CSS+JS模拟比赛晋级的动画功能
  • 原文地址:https://blog.csdn.net/m0_58598240/article/details/128143944
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号