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

news2024/11/18 23:49:24

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增加,会报错。

    • 增加列数据:用iloc可以增加,用直接索引的的方法也可以增加,建议用iloc,因为iloc也可用来增加行数据。
      在这里插入图片描述
    • 增加行数据:只能用iloc增加行数据,且增加行数据的时候,iloc中直接传新的行索引即可。
      在这里插入图片描述
    • 总结,给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



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/699844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网段扫描攻击

攻击简介 如果网络中有用户向设备发送大量目标IP地址不能解析的IP报文(即路由表中存在该IP报文的目的IP对应的路由表项,但设备上没有该路由表项中下一跳对应的ARP表项),将导致设备触发大量的ARP Miss消息。 大量的网段扫描报文会…

软件测试的自我学习和提升

软件测试是一项非常重要的工作,它可以确保软件在发布前能够正常运行,在软件开发过程中扮演着至关重要的角色。在这个不断变化和创新的时代,软件测试人员需要不断地学习和提升自己的技能和能力,以适应不同软件发展的需求。 1. 学习…

LeetCode刷题 | 309. 最佳买卖股票时机含冷冻期、714. 买卖股票的最佳时机含手续费

309. 最佳买卖股票时机含冷冻期 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 卖出股票后&…

【MySQL学习笔记】(四)MySQL数据类型

MySQL数据类型 1 数据类型分类2 数值类型2.1 tinyint 类型2.2 bit 类型2.3 小数类型2.4 字符串类型2.5 varchar2.6 char和varchar比较 2.6 日期和时间类型2.6 enum 和 set2.6.1 集合查询使用find_ in_ set函数 1 数据类型分类 2 数值类型 2.1 tinyint 类型 数值测试 mysql>…

基于IP 的 Nginx 虚拟主机

目录 一、配置文件(不要忘了备份) 二、 访问地址 一、配置文件(不要忘了备份) 二、 访问地址

while(1) 和 for ( ; ; )的区别

while(1) 和 for(;;) 它们不都是无限循环吗,作用应该一样啊,它们到底有什么区别? 要回答这个问题,其实你各自编写一段while(1) 和 for(;;)的代码,编译对比一下代码大小和汇编文件,你就大概知道了。 while(…

Vue.extend

Vue.extend 方法用来对基本的Vue组件进行扩展,,创建他的子类,,通过扩展根节点Vue定义新的组件 const BaseComponent Vue.extend({data(){return{message:"hehe"}}})const ExtendedComponent BaseComponent.extend({mo…

5、Redis持久化

RDB(默认) 在指定的时间间隔,执行数据集的时间点快照 在指定的时间间隔,执行数据集的时间点快照 实现类似照片记录效果的方式,就是把某一时刻的数据和状态以文件的形式写到磁盘上,也就是快照。这样一来即使…

Mars3d实现对图层树顺序进行了调整的同时调整图层的层级

问题: 1.这个图层管理中的移动图层只是移动在树里的显示关系,数据的叠加优先级没有同步修改 原因: 1. 只对同类型图层才有效,如果是矢量图层需要zIndex的才有效。 比如:都是 geoserver发布的wms图层,这种…

六月喜报 | 震坤行荣获多项行业大奖!

六月喜报 | 震坤行荣获多项行业大奖! 六月,震坤行先后荣获上海市工商联工业品服务商会行业五大奖项,以及SiMPL2023第十三届供应链年度中国供应链数字化创新先锋。一路荣誉加冕,蓄势前行,揽获多个行业奖项。 6月1日&am…

局域网远程连接

一根网线连接两台电脑 前言步骤1 设置B“允许远程连接”2 A和B必须在同一个网段下面3 “winr”,输入“mstsc”中4 弹出“远程桌面连接”窗口,输入B的ip地址和B电脑的用户名及密码(winL键锁屏,看看B的用户名和密码是什么&#xff0…

python学习——函数

一、函数的定义 函数就是执行特定任务和完成特定功能的一段代码。使用函数可以对代码进行复用,提高代码的可维护性和可读性,使得程序便于调试。 二、函数的创建 创建格式 #创建和格式 def 函数名([参数]):函数体[return xxx]举例…

h5实现下拉选择

一、先看效果图 二、简单实现一下代码 首先你要引入jQuery.js文件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name…

Vue基础 el挂载点、data数据对象

第一步导入vue&#xff0c;第二步在html里面写一点东西&#xff0c;第三步在js里面写一点东西。 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>首页</title><link href"" type"text/css"…

开发小程序为什么会成为餐饮行业的新趋势

在过去的一段时间里&#xff0c;小程序的发展可谓是如火如荼。特别是在餐饮行业&#xff0c;无论是大型连锁企业还是小型独立店铺&#xff0c;都在积极布局小程序开发&#xff0c;这一现象引发了我们的思考&#xff1a;为何开发小程序会成为餐饮行业的新趋势呢&#xff1f; 首…

d3dcompiler_47.dll缺失怎么修复,三种修复方法分享

打开游戏的时候&#xff0c;电脑报错“找不到d3dcompiler_47.dll无法继续执行此代码”&#xff0c;不知道怎么处理&#xff1f;下面小编就详细分享关于d3dcompiler_47.dll的三种修复方法以及作用。d3dcompiler_47.dll是Microsoft公司开发的动态链接库文件&#xff0c;属于Micro…

html实现好看的多种风格导航菜单(附源码)

文章目录 1.设计来源1.1 顶部导航菜单1.1.1 界面风格1-一二级连体导航菜单1.1.2 界面风格2-二级导航下拉框1.1.3 界面风格3-系统开始风格1.1.4 界面风格4-购物类导航菜单1.1.5 界面风格5 - 带搜索扩展的导航条1.1.6 界面风格6-火热效果多级导航条 1.2 悬浮按钮菜单1.2.1 界面风…

Retrofit学习基础

1. 基本使用 Retrofit 网络请求的工作本质上是OkHttp完成&#xff0c;而 Retrofit 仅负责 网络请求接口的封装。App应用程序通过Retrofit请求网络&#xff0c;实际上是使用 Retrofit 接口层封装请求参数、Header、Url 等信息&#xff0c;之后由 OkHttp 完成后续的请求操作在服…

如何扫码看文件?多个文件如何独立建码?

现在用二维码来承载文件是很常见的一种方式&#xff0c;可以将多个不同文件做成一个二维码或者多个二维码&#xff0c;来让其他人扫码查看&#xff0c;那么文件转二维码的方法是如何来操作的呢&#xff1f;下面教大家使用二维码生成器&#xff08;免费在线二维码生成器-二维码在…

5.7.3 UDP协议格式(二)使用Wireshark分析UDP用户数据报

5.7.3 UDP协议格式&#xff08;二&#xff09;使用Wireshark分析UDP用户数据报 我们通过对Wireshark采集的UDP用户数据报进行分析&#xff0c;判定一下UDP用户数据报报文接收的是否正确&#xff0c;这里我们首先要对Wireshark采集到的UDP数据的含义。 如图 其中分组详情面板中…