Python先生,你好!(2)——对数据进行标准化处理

Python先生,你好!(2)——对数据进行标准化处理

  • (一)前 言
  • (二)程序设计
  • (三)总 结

(一)前 言

对数据进行标准化处理的Z-Score方法的公式如下:
Python先生,你好!(2)——对数据进行标准化处理_第1张图片

(二)程序设计

以下代码设计为读取一个CSV文件,对其中的数据进行标准化处理,然后绘制展示图表,待处理的数据如下图所示,属性分别为a, b, c, d, e:
Python先生,你好!(2)——对数据进行标准化处理_第2张图片
编写程序:

import csv
import matplotlib.pyplot as plt
import numpy as np

with open('CSV文件位置') as file:
    reader = csv.reader(file)
    data = []
    
    for item in reader:
    # 将所有数据读入空列表
        data.append(item)
    # 获取数据标签
    label = data[0]
    # 删除第一行数据标签
    del(data[0])   
    file.close()
    
    data = np.array(data).astype(float)
    # 获取数据形状
    shape = data.shape
    
    for i in range(shape[1]):
    # 获取该类数据的均值和标准差
        mean = np.mean(data[:,i])
        std = np.std(data[:, i])
        for j in range(shape[0]):
    # 进行数据转换
            data[j, i] = (data[j, i] - mean) / std
            
    # 绘制处理后的数据分布图
    for i in range(shape[0]):
        plt.plot(data[i,])   
    plt.title('The distrubtion of the data after standardization')
    plt.xticks(np.arange(len(label)), label ,fontsize = 13)
    plt.xlabel('Attribute')
    plt.ylabel('Value')
    plt.grid(True)
    plt.tight_layout()
    plt.show()

运行以上代码,显示如下:
Python先生,你好!(2)——对数据进行标准化处理_第3张图片
其中每一条折线都代表一个数据实例,可以看到处理后的数据成正态分布。

(三)总 结

在本节中我们介绍了对数据进行标准化处理的方法,有任何的疑问请在评论区留言,我会尽快回复,谢谢支持!

你可能感兴趣的:(Python先生,你好!)