精华内容
下载资源
问答
  • pandas归一化操作

    千次阅读 2019-01-16 19:52:00
    归一化操作有两种 1.max和min的归一化操作 min-max标准化(Min-Max Normalization) 返回结果0~1 公式: 实例: 如: 随机生成假数据如下 df = DataFrame({"height":np.random.randint(150,190,size=50), ...

    归一化操作有两种

    1.max和min的归一化操作

    min-max标准化(Min-Max Normalization)

    返回结果0~1

    公式:

    实例:

    如:

    随机生成假数据如下

    df = DataFrame({"height":np.random.randint(150,190,size=50),
    "weight":np.random.randint(40,90,size = 50),
    "sex":np.random.randint(0,2,size = 50)})
    df

    对数据进行归一化操作

    df = (df-df.min())/(df.max()-df.min())
    df

     

    df.info()     #函数info()是对我们dataform中的数据进行说明

    信息如下

     

    df.describe()         #describe()是根据每一列对数据进行汇总

     

    2.Z-score标准化方法

    方法:

    返回结果:返回的结果是标准值为1,平均值为0,标准的正态分布数据

    实例如下:

    df2 = (df-df.mean())/df.std()           #df数据减去df平均值,再出去df的标准差就是归一化,归一化后变准值为1
    df2

    df2.describe()

     

    转载于:https://www.cnblogs.com/kuangkuangduangduang/p/10279053.html

    展开全文
  • 关于Sklearn的归一化函数MinMaxScalar探讨引言正文实验一实验二实验二结论 引言 由于目前网上似乎没有博客详细介绍Sklearn的归一化函数MinMaxScalar到底是如何实现数据归一化的,而笔者也不确定生成的scalar的对象...

    关于Sklearn的归一化函数MinMaxScalar探讨

    引言

    由于目前网上似乎没有博客详细介绍Sklearn的归一化函数MinMaxScalar到底是如何实现数据归一化的,而笔者也不确定生成的scalar的对象能不能完成数据单一映射而对实验结果的精度造成影响,于是有了此篇文章。本文通过生成的格式化数据,对MinMaxScalar函数的处理机制进行了探讨和介绍。通过这篇文章,你可能会发现该函数的机制似乎和你想的不一样(手动滑稽)

    正文

    实验一

    • 第一步是导入包,然后生成一个4X4的矩阵如下
    from sklearn.preprocessing import MinMaxScaler
    import numpy as np
    
    data = np.reshape(np.arange(0,16,1),(4,4))
    print(data)
    

    可以看到生成数据如下:

    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]
     [12 13 14 15]]
    
    • 第二步,接着我们看一下,归一化后的数据长什么样子:
    scalar = MinMaxScaler(feature_range=(0,1))
    scalar_data = scalar.fit_transform(data)
    print(scalar_data)
    

    结果如下:

    [[0.         0.         0.         0.        ]
     [0.33333333 0.33333333 0.33333333 0.33333333]
     [0.66666667 0.66666667 0.66666667 0.66666667]
     [1.         1.         1.         1.        ]]
    

    你会惊讶发现,这个归一化是按照列元素进行的,因此我蒙逼了,这样对数据进行归一化,不会产生数据失真吗?对于每行来说,原来不同的数据,全部变成了同样的值(当然不会啦,按列归一化就是按feature元素进行归一化)。

    • 第三步,将数据反向映射回去
    print(scalar.inverse_transform(scalar_data))
    
    [[ 0.  1.  2.  3.]
     [ 4.  5.  6.  7.]
     [ 8.  9. 10. 11.]
     [12. 13. 14. 15.]]
    

    从反归一化结果可以看出,该方法的确是按照列进行归一化的

    实验二

    • 我们把scalar_data 在第0维上只取前3个元素(行元素),并反向归一化
    scalar_data2=scalar_data[:3]
    print(scalar_data2)
    print(scalar.inverse_transform(scalar_data2))
    
    [[0.         0.         0.         0.        ]
     [0.33333333 0.33333333 0.33333333 0.33333333]
     [0.66666667 0.66666667 0.66666667 0.66666667]]
    [[ 0.  1.  2.  3.]
     [ 4.  5.  6.  7.]
     [ 8.  9. 10. 11.]]
    

    可以发现,数据可以正确的反向还原

    实验二

    • 我们把scalar_data 在第1维上只取前3个元素(列元素),并反向归一化
    scalar_data3=scalar_data[:,:3]
    print(scalar_data3)
    print(scalar.inverse_transform(scalar_data3))
    
    [[0.         0.         0.        ]
     [0.33333333 0.33333333 0.33333333]
     [0.66666667 0.66666667 0.66666667]
     [1.         1.         1.        ]]
    Traceback (most recent call last):
      File "/home/jason/PycharmProjects/tf-rnn-attention/demo/testing_for_scalar.py", line 26, in <module>
        print(scalar.inverse_transform(scalar_data3))
      File "/home/jason/PycharmProjects/reiforcementLearning/venv/lib/python3.5/site-packages/sklearn/preprocessing/data.py", line 406, in inverse_transform
        X -= self.min_
    ValueError: operands could not be broadcast together with shapes (4,3) (4,) (4,3) 
    

    发现格式报错。

    • PS :我同时测试了一维数组和3维的张量,结果均报错,该方法传入数据必须为为2维矩阵
    ValueError: Expected 2D array, got 1D array instead:
    array=[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15.].
    Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
    

    结论

    好了,通过上面的简单实验,我们其实可以发现,MinMaxScalar按照列元素进行归一化,其实就是按照feature进行归一化。
    虽然,实验很简单,但是把问题搞清楚,希望对自己和大家都有所帮助

    分享是一种生活的信念,明白了分享的同时,明白了存在的意义

    展开全文
  • pandas Series归一化

    2021-06-15 13:47:54
    使用函数: def min_max_series(series): return (series - series.min()) / (series.max() - series.min()) 传入一个pandas.Series数据即可 案例 import pandas as pd def min_max_series(series): return ...

    使用函数:

    def min_max_series(series):
        return (series - series.min()) / (series.max() - series.min())
    

    传入一个pandas.Series数据即可

    案例

    import pandas as pd
    
    
    def min_max_series(series):
        return (series - series.min()) / (series.max() - series.min())
    
    
    print(min_max_series(pd.Series([1, 2, 3, 4, 5, 3.3, 4.2])))
    
    展开全文
  • pandas学习(四)--数据的归一化

    万次阅读 多人点赞 2017-11-26 20:31:31
    pandas学习(四)–数据的归一化 pandas学习(五)–pandas学习视频 归一化方法有两种形式,一种是把数变为(0,1)之间的小数,一种是把有量纲表达式变为无量纲表达式。主要是为了数据处理方便提出来的,把数

    Pandas学习(一)–数据的导入
    pandas学习(二)–双色球数据分析
    pandas学习(三)–NAB球员薪资分析
    pandas学习(四)–数据的归一化
    pandas学习(五)–pandas学习视频

    完整文章目录:目录

    归一化方法有两种形式,一种是把数变为(0,1)之间的小数,一种是把有量纲表达式变为无量纲表达式。主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理。

    ##常见归一化算法
    ###1、min-max标准化(Min-Max Normalization)

    也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 - 1]之间。转换函数如下: x ^ = x − x m i n x m a x − x m i n \hat x=\frac{x-x_{min}}{x_{max}-x_{min}} x^=xmaxxminxxmin其中max为样本数据的最大值,min为样本数据的最小值。这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

    ###2、Z-score标准化方法

    这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,转化函数为: x ^ = x − μ σ \hat x=\frac{x-\mu}{\sigma} x^=σxμ
    其中为 μ \mu μ所有样本数据的均值, σ \sigma σ为所有样本数据的标准差。该种归一化方式要求原始数据的分布可以近似为高斯分布,否则处理的效果会变差。
    ##pandas归一化方法

    ###1、min-max标准化

    import numpy as np
    import pandas as pd
    
    np.random.seed(1)
    df = pd.DataFrame(np.random.randn(4, 4) * 4 + 3)
    print(df)
    """
              0         1         2         3
    0  9.497381  0.552974  0.887313 -1.291874
    1  6.461631 -6.206155  9.979247 -0.044828
    2  4.276156  2.002518  8.848432 -5.240563
    3  1.710331  1.463783  7.535078 -1.399565
    
    """
    df_norm = (df - df.min()) / (df.max() - df.min())
    print(df_norm)
    """
              0         1         2         3
    0  1.000000  0.823413  0.000000  0.759986
    1  0.610154  0.000000  1.000000  1.000000
    2  0.329499  1.000000  0.875624  0.000000
    3  0.000000  0.934370  0.731172  0.739260
    """
    df_norm2=df.apply(lambda x: (x - np.min(x)) / (np.max(x) - np.min(x)))
    print(df_norm2)
    """
              0         1         2         3
    0  1.000000  0.823413  0.000000  0.759986
    1  0.610154  0.000000  1.000000  1.000000
    2  0.329499  1.000000  0.875624  0.000000
    3  0.000000  0.934370  0.731172  0.739260
    """
    

    ####2、Z-score标准化方法

    import numpy as np
    import pandas as pd
    
    np.random.seed(1)
    df = pd.DataFrame(np.random.randn(4, 4) * 4 + 3)
    print(df)
    """
              0         1         2         3
    0  9.497381  0.552974  0.887313 -1.291874
    1  6.461631 -6.206155  9.979247 -0.044828
    2  4.276156  2.002518  8.848432 -5.240563
    3  1.710331  1.463783  7.535078 -1.399565
    """
    df_norm = (df - df.mean()) / (df.std())
    print(df_norm)
    """
              0         1         2         3
    0  1.213741  0.287871 -1.454237  0.312166
    1  0.295115 -1.481492  0.777218  0.866440
    2 -0.366215  0.667324  0.499679 -1.442906
    3 -1.142640  0.526297  0.177340  0.264301
    """
    
    df_norm2 = df.apply(lambda x: (x - np.mean(x)) / (np.std(x)))
    print(df_norm2)
    """
             0         1         2         3
    0  1.401507  0.332405 -1.679208  0.360458
    1  0.340769 -1.710680  0.897454  1.000479
    2 -0.422869  0.770560  0.576980 -1.666125
    3 -1.319407  0.607716  0.204774  0.305188
    """
    

    比较好奇为啥上面df.std()和np.std()算出来的值不一样,估计哪里有点不一样的地方,还需要研究研究。下面做了一个简单的实验,不知道df.std()具体是怎么算的。

    import numpy as np
    import pandas as pd
    
    data = [(1, 2), (3, 4)]
    df = pd.DataFrame(data)
    print(df)
    """
       0  1
    0  1  2
    1  3  4
    """
    df_std1 = df.std(axis=0)
    print(df_std1)
    """
    0    1.414214
    1    1.414214
    """
    df_std2 = df.apply(lambda x: np.std(x), axis=0)
    print(df_std2)
    """
    0    1.0
    1    1.0
    """
    

    经过后续学习这篇帖子找到了答案:
    https://stackoverflow.com/questions/24984178/different-std-in-pandas-vs-numpy

    import numpy as np
    import pandas as pd
    
    data = [(1, 2), (3, 4)]
    df = pd.DataFrame(data)
    print(df)
    """
       0  1
    0  1  2
    1  3  4
    """
    df_std1 = df.std(axis=0)
    print(df_std1)
    """
    0    1.414214
    1    1.414214
    """
    df_std2 = df.apply(lambda x: np.std(x,ddof=1), axis=0)
    print(df_std2)
    """
    0    1.414214
    1    1.414214
    """
    

    ddof : int, optional
    Means Delta Degrees of Freedom. The divisor used in calculations is N - ddof, where N represents the number of elements. By default ddof is zero.
    这个是numpy对ddof的解释。

    简单点说np.std()计算的是标准差,df.std()计算的是标准差的无偏估计

    参考资料
    1、https://stackoverflow.com/questions/12525722/normalize-data-in-pandas
    2、https://stackoverflow.com/questions/26414913/normalize-columns-of-pandas-data-frame
    3、https://en.wikipedia.org/wiki/Unbiased_estimation_of_standard_deviation

    欢迎加入python学习交流群 667279387

    展开全文
  • pandas中绘图函数

    2018-06-20 20:24:28
    #normal统一的,将数据归一化,解决密度线趴下的问题 s.hist(bins= 70 ,normed= True ) 4.散布图 是观察两个一维数据列之间的关系的有效方法 df[ 'C++' ] = df[ 'python' ].map( lambda x: 0.7 * x + ...
  • 整理了100个Pandas常用的函数,分别分为6类:统计汇总函数、数据清洗函数、数据筛选函数、绘图与元素级运算函数、时间序列函数和其他函数。 1.1 统计汇总函数 函数名 功能 参数及说明 min() 计算最小值 ...
  • pandas 绘图函数

    千次阅读 2018-07-12 18:01:08
    1. pandas 绘图函数 pandas有许多能够利用DataFrame对象数据组织特点来创建标准图表的高级绘图方法 线型图: Series和DataFrmae都有一个用于生成各类图表的plot方烤鸡。默认情况下,它们所生成的是线型图。 ...
  • pandas对数据中的某一列进行归一化处理

    万次阅读 多人点赞 2018-09-06 14:21:34
    #####归一化函数##### max_min_scaler = lambda x : (x-np.min(x))/(np.max(x)-np.min(x)) data['use_dates_month'].apply(max_min_scaler)#这种写法是错误的 正确的写法是: data[['use_dates_month']].apply(max_...
  • Pandas对每个分组应用apply函数

    万次阅读 2020-05-01 16:02:57
    Pandas对每个分组应用apply函数Pandas的apply函数概念(图解)实例1:怎样对数值按分组的归一化实例2:怎样取每个分组的TOPN数据 Pandas的apply函数概念(图解) 实例1:怎样对数值按分组的归一化 实例2:...
  • pandas抽样函数sample

    2021-08-15 16:44:02
    (a)n为样本量 从df中随机抽取n行 df.sample(n=5) (b)frac为抽样比 df.sample(frac=0.05) 按照这个比例抽取 ...(e)weights为样本权重,自动归一化 df.sample(n=3,weights=np.random.rand(df.shape[0])).head
  • 在建立回归模型时,往往需要对数据进行归一化和反归一化。 然而,一定要注意训练集与测试集使用的归一化参数必须统一!! 常用的归一化方法有很多,这里以sklearn的MinMaxScale()为例,下面讲述了归一化和反归一化在...
  • Tensorflow keras 归一化 和 回调函数

    千次阅读 2020-02-02 15:51:36
    import matplotlib as mpl import matplotlib.pyplot as plt # %matplotlib inline import numpy as np ...import pandas as pd import os import sys import time import tensorflow as tf from tensor...
  • 将DataFrame中的每一列分别做归一化处理的函数实现

    万次阅读 多人点赞 2018-02-12 10:18:52
    将DataFrame中的每一列分别做正则处理的函数 def regularit(df): newDataFrame = pd.DataFrame(index=df.index) columns = df.columns.tolist() for c in columns: d = df[c] MAX = d.max() M...
  • 归一化BatchNormalization3.新的激活函数selu4.Dropout防止过拟合 1.深度神经网络DNN 指多个全连接层进行连接而形成的网络,层数太多不一定性能会更优,反而会下降,这是因为 层数太多,参数太多 导致了梯度消失 ...
  • 数据归一化

    2019-01-29 14:51:19
    version:python 3.6 环境:anaconda/JupyterLab 0.27.0 ...所以需要按列归一化,而不是直接对所有数据归一化。 下面是我写的函数,可以直接调用: def minmax_scale(data): for col in feature...
  • 归一化 model = keras.models.Sequential() model.add(keras.layers.Flatten(input_shape=[28, 28])) for _ in range(20): model.add(keras.layers.Dense(100, activation="relu")) #标准化的好处可以使椭圆分布...
  • pandas时间序列数据处理(时间序列归一化,对齐,映射,空值填充) 实现功能 将下面的csv数据对应到每间隔五分钟的时间序列上保证数据完整 详细描述: 时间区间数据对应 主要是将把每五分钟区间内的数据对应到五...
  • 为了消除指标之间的量纲和取值范围差异的影响,需要进行标准化(归一化)处理,将数据按照比例进行缩放,使之落入一个特定的区域,便于进行综合分析。 数据规范化方法主要有: – 最小-最大规范化 – 零-均值规范化 ...
  • pandas分组后应用apply函数 知识:Pandas的GroupBy遵从split、apply、combine模 这里的split指的是pandas的groupby,我们自己实现apply函数,apply返回的结果由pandas进行...怎样对数值列按分组的归一化? 将不同范
  • 数据预处理之归一化

    2019-05-22 14:25:08
    %对矩阵归一化 F=mapminmax(A); %输出归一化后的矩阵F xlswrite('D:新文件名‘,F) https://blog.csdn.net/weixin_38706928/article/details/80329563 链接含代码 目录 归一化 数据归一化的背...
  • 1.简单图 简单的Series图表示例,plot() 简单的DataFrame图表示例,plot() 2.柱状图 Series柱状图示例,kind = 'bar'/'barh' ...#normed归一化处理 s.hist(grid = False, bins = 20, normed...
  • Tensorflow2.0初探——keras回调函数、实现简单的图像分类、1、引入相应的库2、导入数据3、数据归一化4、创建模型5、定义回调函数callback6、绘制各项训练数据图像7、评估验证函数 1、引入相应的库 import ...
  • import pandas as pd food_info=pd.read_csv("food_info.csv") ###将数据传入。指定文件名即可。使用相对路径。 print(type(food_info)) ###将数据通过pandas传入,pandas的数据结构就是dataframe print(food_info...
  • 一般做机器学习应用的时候大部分时间是花费在特征处理上,其中很关键的一步就是对特征数据进行归一化,为什么要归一化呢? 很多同学并未搞清楚,维基百科给出的解释: 1)归一化后加快了梯度下降求最优解的速度, ...
  • pandas常用函数,方法使用总结--[基于金融数据分析清洗]

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,934
精华内容 2,773
关键字:

pandas归一化函数