数据分析回头看1——Pandas中数据处理总结

2023-11-05

0、前言:因为之前自己在学习pandas的过程中就简单做了下笔记,发现在用的时候还是会比较乏力,很多东西容易忘,所以我就决定结合之前笔记的内容,按照使用pandas的习惯,把知识点梳理一下,方便之后查找和记忆。

1、说明pandas中的Series和Dataframe数据的区别:

  • pandas中series数据:series数据是一维数组,它有对应的索引(index)和数据(data)两部分组成,在初始化的时候可以不传index,只传data进去,注意不论是index还是data都是通过列表传入的数据,index默认是从0开始,你也可以自己传了index列表,index列表中不一定是数字,也可以是字符串。
  • 一般使用pandas就直接使用DataFrame,因为一维数组也可以用其表示,且一维的DataFrame可以转化为

在这里插入图片描述

  • pandas中的dataframe数据:dataframe数据是二维数组,它有对应的行索引(index)、列索引(columns)、二维数组的数据(data),这些数据都是通过列表传入,行索引和列索引不一定是数字,也可以是字符串。

在这里插入图片描述
注意:在DataFrame中有很多属性,其中比较有用的是通过(.values)查看所有值,通过(.columns)查看所有列名,通过(.index)查看所有行名,通过(.shape)查看行数和列数;在DataFrame中也有很多有用的函数,比如通过(.info())查看详细信息。求每一列的非空值、每一列的最大值、每一列的平均数、每一列的方差等等。

  • Series数据和DataFrame数据之间的相互转换

在这里插入图片描述
注意:DataFrame数据转series只需要直接用loc或者iloc抽取其中的行和列即可,在提取的时候不要给索引加([ ]),可以参考下面的数据抽取!



2、对Series数据的增删改查:

  • 查:
    在这里插入图片描述

  • 增:

    • 增加后变为新Series对象
      在这里插入图片描述
    • 在原来的Series对象上增加(★★★★★)
      在这里插入图片描述
  • 删:使用drop函数,注意其中传入的第一个参数是要删除的数据的索引的列表,第二个数据要记得把inplace设置为True,否则不会修改源数据。
    在这里插入图片描述

  • 改:改其实就是在查的基础上完成的。
    在这里插入图片描述



3、对DataFrame数据,通过loc方法进行数据抽取:这种方法就是通过行索引和列索引来抽取数据,如果涉及区间抽取数据,结果是左闭右闭。

  • 提取一行数据:因为一行是一维的,所以提取之后可以是DataFrame数据也可以是Series数据,区别就是行索引加不加([ ])
    在这里插入图片描述

  • 提取一列数据:因为一列是一维的,所以提取之后可以是DataFrame数据也可以是Series数据,区别就是列索引加不加([ ])
    在这里插入图片描述

  • 提取一个指定行号和列号的数值:一个([ ])都不加是得到的是值,加一个得到的是Series数据,加两个,得到的是DataFrame数据
    在这里插入图片描述

  • 提取多行多列数据:分为提取行区间数据,列区间数据和提取指定行,指定列数据两种。
    在这里插入图片描述



4、对DataFrame数据,通过iloc方法进行数据抽取:这种方法就是通过行索引号和列索引号来抽取数据,索引是从0开始的,如果涉及区间提取,结果是左闭右开。

  • 提取一行数据:因为一行是一维的,所以提取之后可以是DataFrame数据也可以是Series数据,区别就是行索引加不加([ ]),具体可以参考上面loc抽取数据的举例。

  • 提取一列数据:因为一列是一维的,所以提取之后可以是DataFrame数据也可以是Series数据,区别就是列索引加不加([ ]),具体可以参考上面loc抽取数据的举例。

  • 提取一个指定行号和列号的数值:一个([ ])都不加是得到的是值,加一个得到的是Series数据,加两个,得到的是DataFrame数据,具体可以参考上面loc抽取数据的举例。

  • 提取多行多列数据:分为提取行区间数据,列区间数据和提取指定行,指定列数据两种,具体可以参考上面loc抽取数据的举例。



5、对DataFrame数据的增删改查:


  • 对DataFrame数据进行查找,本质就是进行数据抽取,方法可以参考上面的3和4,通过loc和iloc即可。

  • 增:可以用iloc来增加,但是不能用loc增加,会报错。

    • 增加列数据:用loc可以增加,用直接索引的的方法也可以增加,建议用loc,因为loc也可用来增加行数据,记住一种方法用起来方便。
      在这里插入图片描述
    • 增加行数据:只能用loc增加行数据,且增加行数据的时候,loc中直接传新的行索引即可。
      在这里插入图片描述
    • 总结,给DataFrame增加数据可以用loc方法,但是loc只能将数据增加在末尾,如果要想在指定位置插入,就要用其他方法了,要插入列数据相对简单,用insert函数即可,要插入行数据,相对就比较复杂了,需要用切片之后连接的方法来做。
  • 删:用drop函数,删列和删行都有两种方法,选择哪一种都要记得inplace设置为True,否则不会修改源数据。

    • 删除列数据:有两种方式一种是通过drop中的参数(labels标签搭配axis=1)表示从列标签中找对应标签删除,一种是通过columns参数直接输入对应的列索引来删除。
      在这里插入图片描述
      在这里插入图片描述
    • 删除行数据:
      在这里插入图片描述
      在这里插入图片描述
    • 修改列索引:方法就是调用rename函数,其中输入参数columns是个字典,其中‘键’表示原来的列索引名称,’值‘表示要替换的列索引名称。
      在这里插入图片描述

    • 修改行索引:方法就是调用rename函数,其中输入参数index是个字典,其中‘键’表示原来的列索引名称,’值‘表示要替换的列索引名称。
      在这里插入图片描述

    • 修改列数据:本质是通过直接赋值的方法,重新给对应列赋值,通过iloc和loc都可以,举例如下:
      df.loc[:, ‘语文’] = [115, 108, 112, 118, 115]

    • 修改行数据:本质是通过直接赋值的方法,重新给对应行赋值,通过iloc和loc都可以,举例如下:
      df.loc[‘张飞’] = [120, 115, 109, 105]

    • 修改具体值:
      df.iloc[0, 0] = 115
      df.loc[‘张飞’, ‘语文’] = 115



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据分析回头看1——Pandas中数据处理总结 的相关文章

随机推荐

  • 逆向工程Python爬虫——国税局发票查验平台

    前言 这是一篇含金量很高的干货文章 笔者将手把手带领各位一步一步地实现爬取国家税务总局全国增值税发票查验平台 以下简称 查验平台 这个想法诞生在19年初 当时在做一款通过扫描二维码就可以查验发票的小程序 当时由于笔者学艺尚浅 没办法模拟请求
  • 浏览器localStorage

    Window localStorage 属性 JavaScript 存储对象 JavaScript 存储对象 实例 使用 localStorage 创建一个本地存储的 name value 对 name lastname value Smi
  • 解决jupyter notebook打开时找不到想要的文件

    原因 打开notebook默认显示的是当前目录下的文件 标题 解决办法 打开cmd用dos命令将当前目录切换到想用notebook打开的文件所在的文件夹 已经切换到了文件所在的目录 所以用命令jupyter notebook打开notebo
  • 重装pytorch历程-问题-解决

    用conda install时报错 An HTTP error occurred when trying to retrieve this URL HTTP errors are often intermittent 我要做的事 想使用to
  • 微软D365 入门文章汇总以及各项认证介绍(持续跟新.....)

    介绍 希望入门D365的同学们 需要具备的知识点 涉及C WebApi 前端知识 Power Platform等知识 以及Azure的知识点等 需要有了解 实施Microsoft Dynamics 365 CE 12章 实施Microsof
  • 多线程异常 和 事务(一)

    1 首先提出几个问题 1 1 子线程中的异常在主线程中是否可以catch 1 2 在spring中主线程有事务 那么子线程中有事务码 2 先看第一个问题 2 1 我们在main方法里面测试 代码如下 package com pingan t
  • 理解 glibc malloc:malloc() 与 free() 原理图解

    本文分为三个等级自顶向下地分析了glibc中内存分配与回收的过程 本文不过度关注细节 因此只是分别从arena层次 bin层次 chunk层次进行图解 而不涉及有关指针的具体操作 前言 Arena级分析 main arena中的内存申请 t
  • QuickLook搭配Everthing提高工作效率

    因为我的Everthing已经默认以管理员启动了 所以QuickLook也要以管理员权限启动才能查看Everthing中的文件 而QuickLook本身不能以管理员权限启动 所以需要在任务计划程序中设置 步骤 Ctrl R打开CMD 输入t
  • C++模板与泛型编程

    前言 泛型是独立于任何特定类型的编码 在C 中 我们经常使用的容器vector 该容器可以定义不同种类的vector 如vector list vector list或自定义类型等 函数模板 如果要编写一个函数来比较两个数的大小 返回其中最
  • sklearn逻辑回归参数设置_【机器学习笔记】:逻辑回归实战练习(二)

    作者 xiaoyu 微信公众号 Python数据科学 知乎 python数据分析师 前言 前几篇介绍了逻辑回归在机器学习中的重要性 5个原因告诉你 为什么在成为数据科学家之前 逻辑回归 是第一个需要学习的 以及逻辑回归的理论和公式推导 路远
  • Python报错ModuleNotFoundError: No module named ‘tensorflow.contrib‘ 的解决

    在GitHub上下载的image captioning的代码 运行时发现报错为ModuleNotFoundError No module named tensorflow contrib 在CSDN和GitHub上查询后发现是TensorF
  • VS Code插件推荐(一)

    1 Power Mode 炫酷的输入特效 2 Rainbow Theme 炫酷的字体颜色 让枯燥的代码多了一丝生机 3 koroFileHeader 趣味头文件注释 4 Chinese 汉化插件 5 Bracket Pair Coloriz
  • 第三章 利用TensorFlow Object Detection API实现摄像头实时物体检测

    通过第二章节 已经在Ubuntu16 04上实现了利用Google的TensorFlow Object Detection API对图片上物体的检测 这一部分在此基础上修改代码实现捕捉摄像头视频流 并对视频流实时物体检测 1 安装openc
  • Window XP驱动开发(十五) 驱动程序调用驱动程序(以文件句柄形式)

    转载请标明是引用于 http blog csdn net chenyujing1234 欢迎大家提出意见 一起讨论 代码及EzDriverInstaller下载地址 http www rayfile com zh cn files 9376
  • 闲时整理3--Android调用指纹验证

    一 指纹判断工具类 package com kp client test import android app KeyguardManager import android content Context import android su
  • Talib技术因子详解(二)

    talib安装方式 pip install Ta lib Tushare数据获取请参考 金融量化分析基础环境搭建 数据获取代码请参考 Talib技术因子详解 一 11 SAR 阶段中点价格SAR指标又叫抛物线指标或停损转向操作点指标 调用方
  • EM算法及其推广学习笔记

    EM算法及其推广学习笔记 前言 在学习隐马尔科夫模型时 在学习算法中指出了Baum Welch算法 来实现对隐马尔科夫模型参数的求解 在该学习算法中用到了EM算法 因此我们先来看看EM算法到底是何方神圣 可自己在学习EM算法时 又遇到了一个
  • 使用KubeSphere3.3在Ubuntu20.04的Kubernetes1.24上部署Word Press

    使用KubeSphere3 3在Ubuntu20 04的Kubernetes1 24上部署Word Press 前言 之前已经部署了KubeSphere和K8S的基础环境 https lizhiyong blog csdn net arti
  • 基于SSM+JSP校园二手交易系统

    末尾获取源码 开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 采用JSP技术开发 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse 是否Mave
  • 数据分析回头看1——Pandas中数据处理总结

    0 前言 因为之前自己在学习pandas的过程中就简单做了下笔记 发现在用的时候还是会比较乏力 很多东西容易忘 所以我就决定结合之前笔记的内容 按照使用pandas的习惯 把知识点梳理一下 方便之后查找和记忆 1 说明pandas中的Ser