返回顶部
首页 > 资讯 > 后端开发 > Python >Python中应用Winsorize缩尾处理的操作经验
  • 579
分享到

Python中应用Winsorize缩尾处理的操作经验

2024-04-02 19:04:59 579人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

最近搞数据时发现,缩尾时本来是空值或者无效值的地方被填补了数据。传统的研究会将空值剔除后再进行缩尾,但一些不需要剔除空值的数据集需要剔除极端值,因而不能省略缩尾。结合自己的操作经验做

最近搞数据时发现,缩尾时本来是空值或者无效值的地方被填补了数据。传统的研究会将空值剔除后再进行缩尾,但一些不需要剔除空值的数据集需要剔除极端值,因而不能省略缩尾。结合自己的操作经验做些记录:

以保存在excel中的数据为例:

from scipy.stats.mstats import winsorize
import pandas as pd
df = pd.read_excel('Excel.xlsx', engine='openpyxl', header=0)
df_list=["a","b","c"]#需要进行缩尾的列名

1:直接应用Winsorize,不考虑空值和无效值,缩尾结果可能导致部分空值被填充数据

for i in df_list():
    df[i]=winsorize(df[i],limits=[0.01, 0.01])#对指定列中的连续数据进行1%和99%的缩尾(Winsorize)处理

2.1:屏蔽空值和无效值,仅对其他值进行Winsorize处理,缩尾结果不改变原来的空值和无效值

for i in df_list():
    df[i]=np.where(df[i].isnull(), np.nan, winsorize(np.ma.masked_invalid(df[i]),limits=(0.01,0.01)))
#np.where(condition, x, y),满足condition是x,否则y
#此处判断是否空值,是的话为空,否的话进行屏蔽空值和无效值的1%和99%缩尾处理

2.2:winsorize提供的参数,但这个方法我没有成功…仅供参考

for i in df_list():
    df[i]=winsorize(df[i],limits=[0.01, 0.01], nan_policy='omit')

winsorize官方文档

3:屏蔽空值和无效值,对所有值进行Winsorize处理,缩尾结果不改变原来的空值和无效值,与方法2的区别在于方法3没有改变需要缩尾的数据长度

for i in df_list():
    mask = df[i].notna()
    df.loc[mask,i] = winsorize(df[i].loc[mask],limits=[0.01, 0.01]) 
    #这个mask就是一个bool index,指示哪些位置上是nan
    #比如一列数据是[1, NaN, 2],如果用df['A'].isnan()得到的就是一个[False, True, False]的数组 
    #这个数组就是所谓的mask,它可以把dataframe中的特定数据挑出来

我碰到后续描述性统计有负无穷值的问题,因而将其替换为空值

#如果需要将无穷值换为空值
df=df.replace(-np.Inf,np.NaN) 

(在此鸣谢不厌其烦给我提供参考的张老师、李老师、孙老师!)

参考文章:

1.Winsorize的正确方法但在python中忽略nan

2.有关numpy.ma.masked_invalid的用法

3.Python数据分析 - 缩尾处理

总结

到此这篇关于Python中应用Winsorize缩尾处理的文章就介绍到这了,更多相关Python应用Winsorize缩尾内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python中应用Winsorize缩尾处理的操作经验

本文链接: https://lsjlt.com/news/119049.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中应用Winsorize缩尾处理的操作经验
    最近搞数据时发现,缩尾时本来是空值或者无效值的地方被填补了数据。传统的研究会将空值剔除后再进行缩尾,但一些不需要剔除空值的数据集需要剔除极端值,因而不能省略缩尾。结合自己的操作经验做...
    99+
    2024-04-02
  • PHP Linux脚本操作经验分享:利用正则表达式进行文本处理
    正则表达式是处理文本的强大工具,能够快速而灵活地匹配、搜索和替换文本中的模式。在PHP Linux脚本编程中,利用正则表达式进行文本处理常常是必不可少的技能。本文将分享一些实用的正则表达式操作技巧,并提供具体的代码示例供参考。匹配和提取文本...
    99+
    2023-10-21
    Linux PHP 正则表达式
  • Go语言开发大数据处理应用的实践经验分享
    Go语言是一门开源的编程语言,由Google开发并发布,以其高效性能、简洁易用的特性而著称。近年来,随着大数据技术的快速发展,越来越多的企业开始采用Go语言来开发和处理大数据应用。本文以实践经验为基础,分享一些在使用Go语言开发大数据处理应...
    99+
    2023-11-20
    大数据 Go语言 实践经验
  • Python中的图像处理之Python图像平滑操作
    目录前言一. Python准备二. Python仿真三. 小结前言 随着人工智能研究的不断兴起,Python的应用也在不断上升,由于Python语言的简洁性、易读性以及可扩展性,特别...
    99+
    2024-04-02
  • 编程算法在 Python 中的应用,你有哪些实战经验?
    编程算法是计算机科学的核心组成部分之一,它是解决问题和优化计算机程序的关键。Python 作为一种高级编程语言,拥有强大的编程算法支持,可以帮助开发人员快速有效地解决问题。在本篇文章中,我们将探讨编程算法在 Python 中的应用,并分享...
    99+
    2023-10-01
    大数据 编程算法 bash
  • 14个Python处理Excel的常用操作分享
    目录一、关联公式:Vlookup二、数据透视表三、对比两列差异四、去除重复值五、缺失值处理六、多条件筛选七、 模糊筛选数据八、分类汇总九、条件计算十、删除数据间的空格十一、数据分列十...
    99+
    2023-03-06
    Python处理Excel操作 Python处理Excel Python Excel
  • PHP 函数在处理数据验证中的作用
    php 函数在数据验证中发挥着关键作用,可用于输入验证(如 email 验证、类型转换)和数据清理(如去除空白字符、html 标记)。实践中,这些函数可用于验证用户注册表单中的输入,确保...
    99+
    2024-04-25
    数据验证 php 用户注册
  • Python逻辑操作中的三大应用方案
    这篇文章给大家介绍Python逻辑操作中的三大应用方案,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python逻辑在运作中有不少的问题需要解决。在实际的使用中有三种:and、or、not。分别对应与、或、非。举例:#...
    99+
    2023-06-17
  • Python处理Excel的常用操作方法有哪些
    本篇内容介绍了“Python处理Excel的常用操作方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!数据是网上找到的销售数据,长这样...
    99+
    2023-07-05
  • python音频处理用到的操作的示例代码
    前言 本文主要记录python下音频常用的操作,以.wav格式文件为例。其实网上有很多现成的音频工具包,如果仅仅调用,工具包是更方便的。 更多pyton下的操作可以参考: 用python做科学计算 1、批量...
    99+
    2022-06-05
    示例 音频处理 操作
  • 如何在Python中处理数据库操作的问题
    如何在Python中处理数据库操作的问题Python作为一种高级编程语言,十分适用于处理数据库操作。它具有简单易用的语法和丰富的第三方库,使得开发人员能够轻松地连接、查询和修改数据库。在本文中,我们将介绍如何使用Python进行数据库操作,...
    99+
    2023-10-22
    Python 数据库操作 处理
  • 如何在Python中处理字符串操作的问题
    如何在Python中处理字符串操作的问题Python作为一种高级编程语言,具有强大的字符串处理能力。在日常开发中,字符串操作是非常常见的操作之一。本文将介绍如何在Python中高效地处理字符串,同时附带具体的代码示例。字符串的拼接和格式化字...
    99+
    2023-10-22
    字符串处理 Python字符串操作 字符串处理技巧
  • Python中mmap模块处理大文本的操作方法
    目录mmap 介绍WindowsUnix支持的方法使用mmap读取大文件什么时候用mmap?总结:使用mmap的时机如果现在有一个需求,我们需要处理一个20G的大文件,我们会怎么处理...
    99+
    2023-02-07
    Python中mmap模块 Python mmap模块
  • 整理Python中常用的conda命令操作
    1 conda介绍 conda是一个python的包管理器,用来管理、安装、更新python的包和相关的依赖。另外,conda可以为特定任务创建独立的环境,每个环境中可以只安装需要用到的包和依赖,还可以将环境导出成y...
    99+
    2022-06-02
    conda命令常用操作 Python conda
  • python中的netCDF4批量处理NC文件的操作方法
    目录一、使用ArcMap提取出第一期数据1.使用工具箱中的“Make NetCDF Raster Layer”工具,提取出一个数据2.导出该数据作为标准数据二...
    99+
    2024-04-02
  • python中文件操作与异常的处理是怎样的
    本篇文章为大家展示了python中文件操作与异常的处理是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、 文件的操作1.1创建文件格式:f = open(‘文件', ‘w')...
    99+
    2023-06-22
  • python中文件操作和异常处理的示例分析
    这篇文章主要介绍python中文件操作和异常处理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、 文件的操作1.1创建文件格式:f = open(‘文件', ‘w')或者f = open(...
    99+
    2023-06-22
  • python中文件操作与异常的处理图文详解
    目录一、 文件的操作1.1创建文件1.2写入数据1.3读数据1.4读数据1.5读写数据1.6删除文件1.6写入文件1.7读取图片1.8备份图片1.9文件重命名1.10创建文件夹1.1...
    99+
    2024-04-02
  • 深入理解Python中\n的作用及应用
    在Python中,我们经常会见到`这个符号,它代表着换行符,用于表示文本中的换行。在本文中,我们将深入理解Python中`的作用及应用,并通过具体的代码示例来展示它的使用方式。 首先,...
    99+
    2024-04-02
  • Python脚本操作在Linux环境中的应用案例
    Python脚本操作在Linux环境中的应用案例及代码示例在日常的系统运维和自动化管理中,Python脚本在Linux环境中有着广泛的应用。本文将通过介绍几个实际应用案例,并给出相应的代码示例,帮助读者更好地理解Python脚本在Linux...
    99+
    2023-10-22
    Linux环境 应用案例 脚本操作
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作