返回顶部
首页 > 资讯 > 后端开发 > Python >python怎么去除异常值和缺失值的插值
  • 107
分享到

python怎么去除异常值和缺失值的插值

2023-06-29 01:06:26 107人浏览 独家记忆

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

摘要

python怎么去除异常值和缺失值的插值,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用箱型法去除异常值:import numpy as n

python怎么去除异常值和缺失值的插值,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

使用箱型法去除异常值:

import numpy as npimport pandas as pdimport matplotlib as pltimport osdata = pd.read_excel('try.xls', header=0)# print(data.shape)# print(data.head(10))# print(data.describe())neg_list = ['位移']print("(1)数据的行数为:")R = data.shape[0]print(R)print("(2)小于或大于阈值的数据提取:")for item in neg_list:    neg_item = data[item]<2000    print(item + '小于2000的有' + str(neg_item.sum()) + '个')print("(3)异常值的个数:")for item in neg_list:    iqr = data[item].quantile(0.75) - data[item].quantile(0.25)    q_abnORMal_L = data[item] < data[item].quantile(0.25) - 1.5 * iqr    q_abnormal_U = data[item] > data[item].quantile(0.75) + 1.5 * iqr    print(item + '中有' + str(q_abnormal_L.sum() + q_abnormal_U.sum()) + '个异常值')print("(4)箱型图确定上下限:")for item in neg_list:    iqr = data[item].quantile(0.75) - data[item].quantile(0.25)    Too_small = data[item].quantile(0.25) - 1.5 * iqr    Too_big = data[item].quantile(0.25) + 1.5 * iqrprint("下限是", Too_small)print("上限是", Too_big )print("(5)所有数据为:")a = []for i in neg_list:    a.append(data[i])print(a)print("(6)所有正常数据:")b = []j = 0while j < R:    if (a[0][j] > Too_small):        if (a[0][j] < Too_big):            b.append(a[0][j])    j += 1print(b)print("(7)所有异常数据:")c = []i = 0while i < R:    if (a[0][i] < Too_small or a[0][i] > Too_big):        c.append(a[0][i])        a[0][i] = None    i +=1print(c)print("(8)把所有异常数据删除后:")print(a)print("(9)所有数据处理后输出:")d = []k = 0while k < R:    d.append(a[0][k])    k +=1print(d)df = pd.DataFrame(d,columns= ['位移'])df.to_excel("try_result.xls")

拉格朗日插值:

import osimport pandas as pdimport numpy as npfrom scipy.interpolate import lagrangeimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False #用来正常显示负号# 数据的读取data = pd.read_excel('try.xls', header=0)neg_list = ['位移']# 数据的行数R = data.shape[0]# 异常数据的个数for item in neg_list:    iqr = data[item].quantile(0.75) - data[item].quantile(0.25)    q_abnormal_L = data[item] < data[item].quantile(0.25) - 1.5 * iqr    q_abnormal_U = data[item] > data[item].quantile(0.75) + 1.5 * iqr    # print(item + '中有' + str(q_abnormal_L.sum() + q_abnormal_U.sum()) + '个异常值')# 确定数据上限和下限for item in neg_list:    iqr = data[item].quantile(0.75) - data[item].quantile(0.25)    Too_small = data[item].quantile(0.25) - 1.5 * iqr    Too_big = data[item].quantile(0.25) + 1.5 * iqrdata[u'位移'][(data[u'位移']<Too_small) | (data[u'位移']>Too_big)] = None #过滤异常值,将其变为空值#s为列向量,n为被插值位置,k为取前后的数据个数def ployinter(s,n,k=5):    y = s[list(range(n-k,n)) + list(range(n+1,n+1+k))]    y = y[y.notnull()] #剔除空值    return lagrange(y.index,list(y))(n)#逐个元素判断是否需要插值for i in data.columns:    for j in range(len(data)):        if(data[i].isnull())[j]:            data[i][j] = ployinter(data[i],j)# print(data[u'位移'])# 输出拉格朗日插值后的数据data.to_excel("try_result.xls")# 把表格列数据调整为arr,arr为修改后的数据print("拉格朗日插值后的数据:")d = []k = 0while k < R:    d.append(data[u'位移'][k])    k +=1# print(d)arr = np.array(d)print(arr)# 输出图像x = np.arange(len(d))plt.plot(x,d,'b-',label="one", marker='*',markersize=4,linewidth=1) # b代表blue颜色  -代表直线plt.title('位移曲线')plt.legend(loc='upper left',bbox_to_anchor=(1.0,1.0))# 直接更改X轴坐标数# plt.xticks((0,1,2,3,4,5,6,7,8),('0', '1', '2', '3', '4', '5', '6', '7', '8'))plt.xlabel('时间/h')plt.ylabel('位移/mm')#plt.grid(x1)plt.show()

数据拟合:

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom scipy.optimize import leastsqdef Fun(p, x):  # 定义拟合函数形式    a1, a2, a3 , a4 = p    return a1 * x ** 3 + a2 * x ** 2 + a3 * x + a4def error(p, x, y):  # 拟合残差    return Fun(p, x) - ydef main():    x = np.linspace(1, 31, 31)  # 创建时间序列    data = pd.read_excel('try.xls', header=0)    y = data[u'位移']    p0 = [0.1, -0.01, 100, 1000]  # 拟合的初始参数设置    para = leastsq(error, p0, args=(x, y))  # 进行拟合    y_fitted = Fun(para[0], x)  # 画出拟合后的曲线    plt.figure    plt.plot(x, y, 'r', label='Original curve')    plt.plot(x, y_fitted, '-b', label='Fitted curve')    plt.legend()    plt.show()    print(para[0])if __name__ == '__main__':    main()

输出图像:

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False #用来正常显示负号jiaodu = ['0', '15', '30', '15', '60', '75', '90', '105', '120']x = range(len(jiaodu))y = [85.6801,   7.64586,    86.0956,    159.229,    179.534,    163.238,    96.4436,    10.1619,    90.9262,]#plt.figure(figsize=(10, 6))plt.plot(x,y,'b-',label="1", marker='*',markersize=7,linewidth=3) # b代表blue颜色  -代表直线plt.title('各个区域亮度变化')plt.legend(loc='upper left',bbox_to_anchor=(1.0,1.0))plt.xticks((0,1,2,3,4,5,6,7,8),('0', '15', '30', '15', '60', '75', '90', '105', '120'))plt.xlabel('角度')plt.ylabel('亮度')#plt.grid(x1)plt.show()

关于Python怎么去除异常值和缺失值的插值问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网Python频道了解更多相关知识。

--结束END--

本文标题: python怎么去除异常值和缺失值的插值

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

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

猜你喜欢
  • python怎么去除异常值和缺失值的插值
    python怎么去除异常值和缺失值的插值,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用箱型法去除异常值:import numpy as n...
    99+
    2023-06-29
  • python如何去除异常值和缺失值的插值
    1.使用箱型法去除异常值: import numpy as np import pandas as pd import matplotlib as plt import os dat...
    99+
    2024-04-02
  • PaddlePaddle框架怎么处理缺失值和异常值
    在PaddlePaddle框架中,处理缺失值和异常值的方法通常包括以下几种: 缺失值处理:通常可以使用均值、中位数、众数等方式填...
    99+
    2024-03-07
    PaddlePaddle
  • PyTorch中怎么处理缺失数据和异常值
    在PyTorch中处理缺失数据和异常值的方法可以分为以下几种: 缺失数据处理: 使用torch.isnan()函数判断数据是否...
    99+
    2024-03-05
    PyTorch
  • Python 数据清洗删除缺失值替换缺失值详情
    目录一、缺失数据剔除1. python 方式2. DataFrame 方式二、缺失值补全三、重复值剔除(按照行和列)四、数值转换1. replace2. apply3.applyma...
    99+
    2024-04-02
  • python缺失值怎么办
    小编给大家分享一下python缺失值怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、解决方法(1)忽视元组。缺少类别标签时,通常这样做(假设挖掘任务与分类...
    99+
    2023-06-15
  • Python中缺失值怎么处理
    这篇文章主要介绍“Python中缺失值怎么处理”,在日常操作中,相信很多人在Python中缺失值怎么处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中缺失值怎么处理”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-21
  • Pandas缺失值删除df.dropna()的使用
    函数参数 函数形式:dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False) 参数...
    99+
    2024-04-02
  • python怎么去除列表中的空值
    要去除列表中的空值,可以使用列表推导式或者filter()函数。 方法一:使用列表推导式 可以使用列表推导式来创建一个新的列表,同时...
    99+
    2024-02-29
    python
  • pandas数据清洗(缺失值和重复值的处理)
    目录前言缺失值处理缺失值的判断缺失值统计缺失值筛选缺失值类型 插入缺失值缺失值填充插值填充interpolate() 的具体参数 缺失值删除 缺失值删除...
    99+
    2024-04-02
  • matlab怎么查找异常值并剔除
    要查找并剔除异常值,可以使用以下步骤:1. 通过统计描述性统计量(如均值、中位数、标准差等)来确定异常值的范围。可以使用MATLAB...
    99+
    2023-09-25
    matlab
  • php怎么去除重复值
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php怎么去除重复值?php去除数组中重复值,并返回结果!array_unique(array) 只能处理value只有单个的数组。去除有多个value数组,可以使用...
    99+
    2024-04-02
  • python使用箱型图剔除异常值
    目录 箱型图 pandas.DataFrame.quantile 参数: 返回:(Series or DataFrame) 示例: 代码实现  参考 箱型图 将一组数据从大到小排列,分别计算出, 上四分位数𝑄3: 75%...
    99+
    2023-09-11
    python pandas
  • python之怎么使用fillna()填充缺失值
    本篇内容主要讲解“python之怎么使用fillna()填充缺失值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python之怎么使用fillna()填充缺失值”吧!使用fillna()填充缺失...
    99+
    2023-07-02
  • Python Pandas中缺失值NaN的判断,删除及替换
    目录前言1. 检查缺失值NaN2. Pandas中NaN的类型3. NaN的删除 dropna()3.1 删除所有值均缺失的行/列3.2 删除至少包含一个缺失值的行/列3.3 根据不...
    99+
    2024-04-02
  • php怎么除去数组的健值
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在PHP中,可以使用array_keys()函数来除去数组的健值。array_keys()函数可以获取数组中的部分或所有键名。语法:array_keys($array,...
    99+
    2015-02-05
    php 数组 健值
  • php数组怎么去除0值
    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑方法1:利用array_diff()函数去除数组中的0array_diff() 函数用于比较两个(或更多个)数组的值,并返回差集。array_diff(arr...
    99+
    2024-04-02
  • python缺失值的解决方法总结
    1、解决方法 (1)忽视元组。 缺少类别标签时,通常这样做(假设挖掘任务与分类有关),除非元组有多个属性缺失值,否则该方法不太有效。当个属性缺值的百分比变化很大时,其性能特别差。 (2)人工填写缺失值。 一般来说,这...
    99+
    2022-06-02
    python 缺失值
  • python如何计算缺失值的数量
    这篇文章主要为大家展示了“python如何计算缺失值的数量”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何计算缺失值的数量”这篇文章吧。缺失值的数...
    99+
    2024-04-02
  • 如何解决python缺失值的问题
    这篇文章主要介绍如何解决python缺失值的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、解决方法(1)忽视元组。缺少类别标签时,通常这样做(假设挖掘任务与分类有关),除非元组有多个属性缺失值,否则该方法不太...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作