用Pandas进行数据规范化

用Pandas进行数据规范化

在这篇文章中,我们将学习如何在Pandas中对数据进行标准化。让我们先来讨论一些概念。

  • Pandas。Pandas是一个建立在NumPy库之上的开源库。它是一个Python包,提供各种数据结构和操作,用于操作数字数据和统计。它主要因导入和分析数据更容易而流行。Pandas速度快,对用户来说,它是高性能和高生产力的。
  • 数据归一化:数据归一化也可能是机器学习中的一个典型做法,它包括将数字列转换为标准尺度。在机器学习中,一些特征值与其他特征值有多次差异。具有较高数值的特征将在学习过程中占据主导地位。

需要的步骤

在这里,我们将应用一些技术来规范化数据,并在例子的帮助下讨论这些技术。为此,让我们了解一下用Pandas进行数据规范化的步骤。

1.导入库(Pandas
2.导入/加载/创建数据
3.使用技术对数据进行规范化处理

示例

在这里,我们通过一些随机值创建数据,并对其应用一些规范化技术。

# importing packages
import pandas as pd
  
# create data
df = pd.DataFrame([
                   [180000, 110, 18.9, 1400], 
                   [360000, 905, 23.4, 1800], 
                   [230000, 230, 14.0, 1300], 
                   [60000, 450, 13.5, 1500]], 
    
                   columns=['Col A', 'Col B',
                            'Col C', 'Col D'])
  
# view data
display(df)

输出:

用Pandas进行数据规范化

请看这个数据框架的图。

import matplotlib.pyplot as plt
df.plot(kind = 'bar')

用Pandas进行数据规范化

让我们逐一应用规范化技术

使用 最大的绝对缩放比例

最大绝对缩放法通过将每个观察值除以其最大绝对值,在-1和1之间重新缩放每个特征。我们可以在Pandas中使用.max()和.abs()方法来应用最大绝对缩放,如下所示。

# copy the data
df_max_scaled = df.copy()
  
# apply normalization techniques
for column in df_max_scaled.columns:
    df_max_scaled[column] = df_max_scaled[column]  / df_max_scaled[column].abs().max()
      
# view normalized data
display(df_max_scaled)

输出 :

用Pandas进行数据规范化

请看这个数据框架的图。

import matplotlib.pyplot as plt
df_max_scaled.plot(kind = 'bar')

输出:

用Pandas进行数据规范化

使用最小-最大特征缩放法

最小-最大方法(通常称为归一化)通过减去特征的最小值,然后除以该范围,将特征重新划分为[0,1]的硬性范围。我们可以在Pandas中使用.min()和.max()方法来应用最小-最大比例。

# copy the data
df_min_max_scaled = df.copy()
  
# apply normalization techniques
for column in df_min_max_scaled.columns:
    df_min_max_scaled[column] = (df_min_max_scaled[column] - df_min_max_scaled[column].min()) / (df_min_max_scaled[column].max() - df_min_max_scaled[column].min())    
  
# view normalized data
print(df_min_max_scaled)

输出 :

用Pandas进行数据规范化

让我们用这个数据框架画一个图。

import matplotlib.pyplot as plt
df_min_max_scaled.plot(kind = 'bar')

用Pandas进行数据规范化

使用Z-score方法

z-score方法(通常称为标准化)将信息转化为平均值为0、典型偏差为1的分布。每个标准化值的计算方法是减去相应特征的平均值,然后除以质量偏差。

# copy the data
df_z_scaled = df.copy()
  
# apply normalization techniques
for column in df_z_scaled.columns:
    df_z_scaled[column] = (df_z_scaled[column] -
                           df_z_scaled[column].mean()) / df_z_scaled[column].std()    
  
# view normalized data   
display(df_z_scaled)

输出 :

用Pandas进行数据规范化

让我们用这个数据框架画一个图。

import matplotlib.pyplot as plt
df_z_scaled.plot(kind='bar')

用Pandas进行数据规范化

总结

数据规范化包括将数字列重塑为一个标准尺度。在Python中,我们将以一种非常简单的方式实现数据规范化。Pandas库包含多种内置方法,用于计算最常见的描述性统计函数,这使得数据规范化技术非常容易实现。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程