iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >使用pandas模块怎么实现数据标准化
  • 504
分享到

使用pandas模块怎么实现数据标准化

2023-06-15 01:06:14 504人浏览 八月长安
摘要

本篇文章给大家分享的是有关使用pandas模块怎么实现数据标准化,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如下所示:3σ 原则(u-3*σ ,u+3*σ )离差标准化(x-

本篇文章给大家分享的是有关使用pandas模块怎么实现数据标准化,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

如下所示:

3σ 原则(u-3*σ ,u+3*σ )
离差标准化(x-min)/(max-min)
标准差标准化(x-u)/σ
小数定标标准化

x/10**k

k=np.ceil(log10(max(|x|)))

1.3σ原则

u 均值

σ 标准差

正太分布的数据基本都分布在(u-3σ,u+3σ)范围内

其他的数据

import pandas as pdimport numpy as npdef three_sigma(se):    """    自实现3σ原则,进行数据过滤    :param se:传进来的series结构数据    :return:去除异常值之后的series数据    """    bool_id=((se.mean()-3*se.std())<se) & (se<(se.mean()+3*se.std()))    print(bool_id)    return se[bool_id] #加载数据detail=pd.read_excel('./meal_order_detail.xlsx')#进行异常值处理res=three_sigma(detail['amounts'])print(detail.shape)print(res.shape)

2.离差标准化

(x-min)/(max-min)
import pandas as pdimport numpy as np def minmax_sca(data):    """    离差标准化    param data:传入的数据    return:标准化之后的数据    """    new_data=(data-data.min())/(data.max()-data.min())    return new_data #加载数据detail=pd.read_excel('./meal_order_detail.xlsx')res=minmax_sca(detail[['amounts','counts']])print(res)data=resbool_id=data.loc[:,'count']==1print(data.loc[bool_id],'counts')

3.标准差标准化

(x-u)/σ

异常值对标准差标准化的影响不大

转化之后的数据--->均值0 标准差1

import pandas as pdimport numpy as npdef stand_sca(data):    """    标准差标准化    :param data:传入的数据    :return:标准化之后的数据    """    new_data=(data-data.mean())/data.std()    return new_data #加载数据detail=pd.read_excel('./meal_order_detail.xlsx')res=stand_sca(detail[['amounts','counts']])print(res)print('res的均值:',res.mean())print('res的标准差:',res.std())

4.小数定标标准化

x/(10^k)k=math.ceil(log10(max(|x|)))

以10为底,x的绝对值的最大值的对数 最后进行向上取整

import pandas as pdimport numpy as npdef deci_sca(data):    """    自实现小数定标标准化    :param data: 传入的数据    :return: 标准化之后的数据    """    new_data=data/(10**(np.ceil(np.log10(data.abs().max()))))    return new_data#加载数据detail = pd.read_excel('./meal_order_detail.xlsx')res = deci_sca(detail[['amounts', 'counts']])print(res)

补充:pandas数据处理基础之标准化与标签数值化

fit(): Method calculates the parameters μ and σ and saves them as internal objects.

解释:简单来说,就是求得训练集X的均值,方差,最大值,最小值,这些训练集X固有的属性。

transfORM(): Method using these calculated parameters apply the transformation to a particular dataset.

解释:在fit的基础上,进行标准化,降维,归一化等操作(看具体用的是哪个工具,如PCA,StandardScaler等)。

fit_transform(): joins the fit() and transform() method for transformation of dataset.

解释:fit_transform是fit和transform的组合,既包括了训练又包含了转换。 transform()和fit_transform()二者的功能都是对数据进行某种统一处理(比如标准化~N(0,1),将数据缩放(映射)到某个固定区间,归一化,正则化等)

fit_transform(trainData)对部分数据先拟合fit,找到该part的整体指标,如均值、方差、最大值最小值等等(根据具体转换的目的),然后对该trainData进行转换transform,从而实现数据的标准化、归一化等等。

Note:

必须先用fit_transform(trainData),之后再transform(testData)

如果直接transform(testData),程序会报错

如果fit_transfrom(trainData)后,使用fit_transform(testData)而不transform(testData),虽然也能归一化,但是两个结果不是在同一个“标准”下的,具有明显差异。(一定要避免这种情况)

注意:StandardScaler().fit_transform(x,fit_params),fit_params决定标准化的标签数据,就是每个标准化的标杆数据,此参数不同,则每次标准化的过程则不同。

from sklearn import preprocessing# 获取数据cols = ['OverallQual','GrLivArea', 'GarageCars','TotalBsmtSF', 'FullBath', 'TotRmsAbvGrd', 'YearBuilt'] ##选取列x = data_train[cols].valuesy = data_train['SalePrice'].values  x_scaled = preprocessing.StandardScaler().fit_transform(x) ##进行归一化y_scaled = preprocessing.StandardScaler().fit_transform(y.reshape(-1,1))##先将y转换成一列,再进行归一

还有以下形式,和上面的标准化原理一致,都是先fit,再transform。

由ss决定标准化进程的独特性

# 先将数据标准化from sklearn.preprocessing import StandardScalerss = StandardScaler() ###用测试集训练并标准化ss.fit(missing_age_X_train)##首先fitmissing_age_X_train = ss.transform(missing_age_X_train) #进行transformmissing_age_X_test = ss.transform(missing_age_X_test)

标签数值化

1.当某列数据不是数值型数据时,将难以标准化,此时要将数据转化成数据型形式。

数据处理前数据显示:

使用pandas模块怎么实现数据标准化

经过标签化数据处理

from sklearn import preprocessingf_names = ['CentralAir', 'Neighborhood'] ##需要处理的数据标签 for x in f_names:    label = preprocessing.LabelEncoder()    data_train[x] = label.fit_transform(data_train[x]) ##数据标准化

处理之后变成:

使用pandas模块怎么实现数据标准化

2.当某列有对应的标签值时,即某个量对应相应确定的标签时,例如oldtown就对应1,sawyer就对应2,分类的str转换为序列类这时使用如下:

数据处理之前

使用pandas模块怎么实现数据标准化

利用转换:

title_mapping = {"Mr": 1, "Miss": 2, "Mrs": 3, "Master": 4, "Rare": 5}#将标签对应数值train_df['Title'] = train_df['Title'].map(title_mapping)#处理数据train_df['Title'] = train_df['Title'].fillna(0)##将其余标签填充为0值

处理过后:

使用pandas模块怎么实现数据标准化

3.多个数据标签需要分列采用one_hot形式时,处理之前

使用pandas模块怎么实现数据标准化

处理之后

train_test.loc[train_test["Age"].isnull() ,"age_nan"] = 1 ##将标签转换成1train_test.loc[train_test["Age"].notnull() ,"age_nan"] = 0##将此标签成为0train_test = pd.get_dummies(train_test,columns=['age_nan']) ##columns决定哪几行分列处理,prefix参数是每列前缀

使用pandas模块怎么实现数据标准化

以上就是使用pandas模块怎么实现数据标准化,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

本文标题: 使用pandas模块怎么实现数据标准化

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用pandas模块怎么实现数据标准化
    本篇文章给大家分享的是有关使用pandas模块怎么实现数据标准化,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如下所示:3σ 原则(u-3*σ ,u+3*σ )离差标准化(x-...
    99+
    2023-06-15
  • 使用pandas模块实现数据的标准化操作
    如下所示: 3σ 原则 (u-3*σ ,u+3*σ ) ...
    99+
    2024-04-02
  • Python常用标准库之os模块与shutil模块怎么使用
    本文小编为大家详细介绍“Python常用标准库之os模块与shutil模块怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python常用标准库之os模块与shutil模块怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入...
    99+
    2023-06-30
  • python标准库logging模块怎么用
    本文小编为大家详细介绍“python标准库logging模块怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“python标准库logging模块怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。问题1:如...
    99+
    2023-06-30
  • python标准库模块之json库怎么使用
    今天小编给大家分享一下python标准库模块之json库怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言json,...
    99+
    2023-07-02
  • Python3实现常用数据标准化方法
    数据标准化是机器学习、数据挖掘中常用的一种方法。包括我自己在做深度学习方面的研究时,数据标准化是最基本的一个步骤。数据标准化主要是应对特征向量中数据很分散的情况,防止小数据被大数据(绝对值)吞并的情况。另外,数据标准化也有加速训练...
    99+
    2023-01-31
    常用 方法 数据
  • python标准库压缩包模块zipfile和tarfile怎么使用
    这篇文章主要介绍“python标准库压缩包模块zipfile和tarfile怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python标准库压缩包模块zipfile和tarfile怎么使用”...
    99+
    2023-07-02
  • javascript模块化怎么使用
    这篇文章主要介绍“javascript模块化怎么使用”,在日常操作中,相信很多人在javascript模块化怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript模块化怎么使用”的疑惑有所...
    99+
    2023-07-06
  • 怎么使用Python+Pandas实现数据透视表
    这篇文章主要介绍了怎么使用Python+Pandas实现数据透视表的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python+Pandas实现数据透视表文章都会有所收获,下面我们一起来看看吧。导入示例数...
    99+
    2023-07-02
  • Python中怎么使用pandas求方差和标准差
    今天就跟大家聊聊有关Python中怎么使用pandas求方差和标准差,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。准备本文用到的表格内容如下:先来看一下原始情形:import&nbs...
    99+
    2023-06-20
  • 利用PHP trait DTO实现数据传输的标准化与规范化
    在PHP开发中,数据传输对象(Data Transfer Object,简称DTO)是一种常见的设计模式,用于将数据从一个层面传递到另一个层面。DTO主要用于封装数据并提供数据传输的标准化与规范化。在本文中,我们将介绍如何利用PHP tra...
    99+
    2023-10-21
    PHP dto trait
  • Python标准库之日期、时间和日历模块怎么使用
    今天小编给大家分享一下Python标准库之日期、时间和日历模块怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、ti...
    99+
    2023-06-30
  • 使用Nodejs怎么实现模块化和事件循环
    这期内容当中小编将会给大家带来有关使用Nodejs怎么实现模块化和事件循环,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 Node.js简介Node.js 到底是什么?开始学习的时候,对于前端的一些知识...
    99+
    2023-06-15
  • Python中的Pandas时间函数time、datetime模块怎么使用
    本文小编为大家详细介绍“Python中的Pandas时间函数time、datetime模块怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python中的Pandas时间函数time、datetime模块怎么使用”文章能帮助大家解决...
    99+
    2023-07-05
  • Python3中实现数据标准化的方法有哪些
    今天就跟大家聊聊有关Python3中实现数据标准化的方法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、[0, 1] 标准化[0, 1] 标准化是最基本的一种数据标准化方法,...
    99+
    2023-06-14
  • 怎么在python中使用pandas模块查看DataFrame
    这篇文章将为大家详细讲解有关怎么在python中使用pandas模块查看DataFrame,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、首先加载pandas模块import p...
    99+
    2023-06-15
  • Python数据序列化的pickle模块怎么用
    这篇文章主要介绍了Python数据序列化的pickle模块怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python数据序列化的pickle模块怎么用文章都会有所收获,下面我们一起来看看吧。前言:在英语中...
    99+
    2023-06-29
  • 怎么在Python中使用pandas实现数据分析
    怎么在Python中使用pandas实现数据分析?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、比较运算符和比较方法比较运算符用于判断是否相等和比较大小,Py...
    99+
    2023-06-15
  • 服务器硬件标准化:实现数据中心现代化的基石
    服务器硬件标准化的重要性 在当今数据密集型世界中,数据中心是现代业务运营的关键支柱。为了满足不断增长的数据和计算需求,企业正在寻求数据中心现代化的途径。服务器硬件标准化是实现这一目标的基石,因为它提供了以下关键优势: 提高效率:消除异...
    99+
    2024-02-28
    服务器硬件标准化、数据中心现代化、最佳实践、效率、成本、安全性
  • 怎么在Python中使用pandas函数实现数据分析
    本篇文章给大家分享的是有关怎么在Python中使用pandas函数实现数据分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python有哪些常用库python常用的库:1.r...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作