数据分析11——Pandas中数据偏移/数据切分/数据结构转换

news2024/9/22 15:32:24

数据偏移:

1、shift函数:

  • 在 Pandas 中,shift 函数用于将数组的数据向前或向后平移指定的步数。它可以应用于 Series 或 DataFrame 类型的数据中,并返回一个平移后的新数据结构,其中每个元素都被取代为原始序列中对应位置平移值。
  • shift 函数接受一个整数类型的 periods 参数,表示要平移的步数,若该参数为正,则向下平移(即数据后移),若为负,则向上平移(即数据前移)
  • 应用实例:求增长率
    在这里插入图片描述
  • 在pandas中求变化率还有一个函数pct_change函数

2、rolling函数:

  • rolling 函数接受一个 window 参数,表示数据窗口大小,以及一个可选的 min_periods 参数,表示组窗口最小值而不会导致错误结果。然后可以使用许多方法来获得有关每个窗口内的统计信息,例如均值、中位数、和等等
  • 注意:窗口每次就向下移动一行,所以前面的n个数据可能是没法满足窗口计算的数据量的,所以要设定最少可计算的行数,这样前面的数据就能够计算了。
  • 应用实例:
    在这里插入图片描述


数据切分

1、数据切分:

  • 定义:数据切分其实就是让数据以某个列索引为依据,来按照某种规则划分整个数据。
  • 注意:数据切分和数据分组不一样,数据分组本质是分类,而数据切分本质是分段。

2、数据切分会用到的函数总结:

  • 函数名:cut
  • 参数说明:
    • x:必须是一维输入数组,一般就是dataframe数据中某一列数据;
    • bins:整型或者列表,是切分的规则;
    • right:True表示切分区间是左开右闭,否则是左闭右开;
    • 其他参数:【labels,retbins,precision,include_lowest,duplicates,ordered】
  • 举例:按照数据中成绩进行数据切分,等距分为10组:tb[‘等距分箱’] = pd.cut(x=tb[‘成绩’], bins=10, right=False)

  • 函数名:qcut
  • 参数说明:
    • x:必须是一维输入数组,一般就是dataframe数据中某一列数据;
    • q:整型或者列表,是切分的规则,是分位数,如果是列表的话,应该是0~1之间的数字组成的列表;
    • right:True表示切分区间是左开右闭,否则是左闭右开;
    • 其他参数:【labels,retbins,precision,dupliactes】
  • 举例:按照数据中成绩进行数据切分,等频(每组中的数量基本一致)分为4组:tb[‘等频分箱’] = pd.qcut(x=tb[‘成绩’], q=4)

  • 说明:上表中的参数说明中只对必要参数进行了说明,其他参数进行了记录,我也不是很了解,但不影响使用。


数据结构转换

1、字符串内容一列转多列

  • 函数名称:str.split()

  • 参数:第一个参数是切分标识字符,第二个参数是expand,为True则表示返回的是一个dataframe,为False表示返回的是一个series。

  • 举例:
    在这里插入图片描述
    在这里插入图片描述

  • 注意该方法是明确知道可以分为多少列的,下面一种是不确定可以分为多少列的方法,用到split和join

  • 举例:
    在这里插入图片描述


2、对元组/列表形式的字段进行拆分

  • 说明:当然也可以通过字符串处理的方法来完成该任务,但是相对来说这种更简单。
  • 举例:
    在这里插入图片描述

3、数据透视与逆透视

  • 数据透视函数名称:pivot()
  • 参数:
    • index:原来数据中哪个列索引作为新的透视表索引
    • columns:原来数据中哪个列索中的所有类作为新的透视表的列名称
    • values:原来数据中哪个列索引中的数据作为新的透视表中的值
  • 举例:
    在这里插入图片描述
  • 数据逆透视函数名称:melt()
  • 参数:
    • frame:dataframe数据对象
    • id_vars:位置保持不变的字段
    • value_vars:列转为行的字段
    • var_name:列转为行后,新字段的别名
    • value_name:值列的别名
  • 举例:
    在这里插入图片描述

4、DataFrame转为字典或列表

  • DataFrame转为字典函数名称:to_dict()
  • 举例:
    在这里插入图片描述
  • DataFrame转为列表函数名称:to_dict()
  • 说明:dataframe是没法直接转列表的,但是可以先转为数组array类型,然后再转列表
  • 举例:
    在这里插入图片描述

总结:

  • 1、pandas是由numpy发展而来的,所以pandas中有很多非常便捷的函数,对于函数的学习无非就是了解其使用场景,掌握参数的意义。
  • 2、pandas的很多数据处理工作和函数我自己的感受就是把excel中的功能放到了python中实现,其实在你excel工具使用到炉火纯青的地步也可以在excel中处理好数据,然后再传入python中进行计算分析。当然可能python中通过函数来处理数据的方法计算速度可能更快,同时也可以把所有数据分析的流程放到jupyter中统一完成,就避免了一次数据分析使用多种工具的尴尬。

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

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

相关文章

kubernetes根据podName获取对应的主机pid

获取指定的podName kubectl get pods -n demo -owide登录对应的主机执行docker命令,获取到容器的id docker ps | grep PODNAME拿到的容器id,执行如下命令 获取容器的长的容器id docker inspect container_id找到容器id后 执行 apt-get install jq cat /var/lib…

关于Word文档的处理【笔记】

关于Word文档的处理【笔记】 前言推荐关于Word文档的处理一、解压word如何恢复1 准备2 解压3 恢复 二、对word文档进行图片替换1 首先解压word文档2 进入word文档存放图片的路径3 批量给图片添加水印4 替换原来的media文件5 压缩为docx文件6 打开 最后 前言 2023-5-20 11:00:1…

uniapp 快手授权登录,发布、编辑、裁剪图片和视频,分享 Ba-Kwai

简介(下载地址) 快手授权登录,发布、编辑、裁剪图片和视频,一键智能裁剪,分享私信,打开用户主页,挂载小程序等。自带选择图片和选择视频方法。 抖音授权登录、发布、分享 Ba-Aweme&#xff08…

基于GitLab搭建DevSecOps流水线

本博客地址:https://security.blog.csdn.net/article/details/130734964 一、GitLab安装 GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建Web服务,可通过Web界面访问公开的或者私人的项目。它…

【总结】数据建模调研与设计

一、数据建模背景和目的 1.1 数据建模任务背景 a. xxxx 中台新增数据建模模块,对标行业最佳实践,补齐数据中台短板。 b. 以往的数据建模,包括数仓模型的设计、数仓模型的落地,都是通过第三方的工具,例如DBwaver、Nav…

SOFA Weekly|SOFA 大事记、Layotto 社区会议回顾与预告、社区本周贡献

SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展 欢迎留言互动~ SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件&am…

【信息安全案例】——应用软件安全(学习笔记)

📖 前言:随着应用软件日益增多,与我们的生活深度绑定,应用软件的安全性问题愈发凸显。针对恶意代码、代码漏洞等安全风险,必须加强安全意识,采取有效措施进行防范。合理有效的安全措施能够确保用户的信息安…

(数字图像处理MATLAB+Python)第九章图像形态学运算-第一、二节:形态学基础和二值形态学运算

文章目录 一:形态学基础(1)结构元素(2)程序 二:二值形态学的基础运算(1)基本形态变换A:膨胀运算①:概述②:示例③:程序 B:…

CleanMyMac X4.13.4中文版下载及使用教程

随着Mac电脑的广泛普及,越来越多的用户开始关注如何保持自己电脑的快速运行。众所周知,Mac电脑的性能和稳定性得到了广泛认可。但是,随着使用时间的增加和数据的增加,任何电脑都可能变得缓慢和难以使用。为了解决这一问题&#xf…

2-《Java进阶》

2-《Java进阶》 一. java多线程(非常重要)1.1. 线程java多线程实现方式主要有:1.继承Thread 2.实现Runnable3.实现CallableRunnable 与 Callable的区别:1.2. 线程的状态有哪些?1.3. 线程的状态转换及控制1.4. Java如何…

SeaweedFs使用-通过http接口实现文件操作

通过http接口实现文件操作 SeaweedFs可通过filer的http接口/master中的http接口来进行文件上传 1.通过master的接口进行上传文件 通过各种方式进行请求接口:http://localhost:9333/submit, ip和端口号是master服务的信息。此接口通过post请求方式将文件的二进制流…

3-《安卓基础》

3-《安卓基础》 1.Android系统架构2.四大组件1Activity1.1 生命周期1.2. Activity四种启动模式1.3.Activity任务栈的概念1.3.Activity的显示启动和隐示启动1.4.scheme使用场景,协议格式,如何使用?1.5.activty间传递数据的方式1.6.跨进程启动A…

网络安全-kail linux渗透测试(基础篇)

渗透测试是一个非常广的课程,我们首先要做的是在某个方向精通,再在其他方面也要有涉猎。 大部分的漏洞是国外挖掘的。 一、推荐研究书籍: Metasploit浚透测试指南》肯尼(行业经典) 诸葛建伟翻译 《Metasloit渗透测试魔鬼训练营》诸葛建伟…

运用pyecharts制作可视化大屏(代码展示及效果图-动图)

一、Matplotlib绘图 折线图 import matplotlib.pyplot as plt # 调用画图库 plt.rcParams[font.sans-serif] [SimHei] # 设置成可以显示中文,字体为黑体 plt.figure(figsize(12,8)) # 调整图片尺寸 x [周一,周二,周三,周四,周五,周六,周日] # 设置x轴数据 y [401…

物联网网络通讯知识

RTU是什么 RTU英文全称Remote Terminal Units,中文全称为远程终端单元。远程终端设备(RTU)是安装在远程现场的电子设备,用来监视和测量安装在远程现场的传感器和设备。通俗理解就是能够编程的还可以将数据传输到服务器的工具。RTU内部是包含通讯模块的&…

4、详细版易学版TypeScript - 元组 枚举

一、元组(Tuple) 数组&#xff1a;合并了相同类型的对象 const myArr: Array<number> [1, 2, 3]; 元组(Tuple)&#xff1a;合并了不同类型的对象 // 定义元组时就要确定好数据的类型&#xff0c;并一一对应 const tuple: [number, string] [12, "hi"]; // 添…

QT客户端外包开发的特点

QT是一种跨平台的C应用程序开发框架&#xff0c;主要用于开发图形用户界面(GUI)应用程序。它提供了一套丰富的类库和工具&#xff0c;可以帮助开发者快速构建高质量、可扩展、易于维护的应用程序。今天和大家分享一下QT的主要特点和注意的问题&#xff0c;希望对大家有所帮助。…

探索LeetCode【0011】盛最多水的容器(已懂)

目录 0. 题目1. 官方解答一&#xff08;已懂&#xff09;2. 精简解答二&#xff08;已懂&#xff09;3. 正确性解释 0. 题目 题目链接&#xff1a;【0011】盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i,…

From Java To Kotlin:空安全、扩展、函数、Lambda很详细,这次终于懂了

From Java To Kotlin, 空安全、扩展、函数、Lambda 概述&#xff08;Summarize&#xff09; Kotlin 是什么&#xff1f;可以做什么&#xff1f;Android 官方开发语言从Java变为Kotlin,Java 有哪些问题&#xff1f;Kotlin的优点Kotlin 特性&#xff08;Features&#xff09; K…

有名的国外CRM系统有哪些?如何选择?

CRM系统可以帮助企业获得更多地潜在客户&#xff0c;优化销售流程&#xff0c;提高工作效率&#xff0c;增强客户服务水平&#xff0c;是如今企业不可或缺的工具。那么&#xff0c;国外CRM的知名厂商有哪些&#xff1f;下面小编来为大家进行推荐。 Zoho CRM&#xff1a; Zoho…