数据分析——数据规范化

数据规范化是数据分析中的一个重要步骤,其目的在于确保数据的一致性和可比性,提高数据质量和分析结果的准确性。以下是一些数据规范化的常见方法和技术:

  1. 数据清洗:此步骤主要清除数据中的重复项、空格、格式错误等,确保数据的准确性和完整性。
  2. 数据转换:数据转换涉及将不同格式或单位的数据统一化,如转换日期格式、货币单位或度量单位,以便进行更有效的比较和分析。
  3. 数据规范化:这一步主要是将文本数据转换为统一的术语和格式。例如,设定规则、使用词典或将数据转换为特定的数据格式,以确保数据的一致性和可读性。
  4. 数据映射:当处理来自不同数据源的数据时,数据映射特别有用。它将不同数据源的数据映射到一个标准化的模板中,确保数据的一致性和可比性。
  5. 数据匹配:这一步骤主要是将同一实体的不同表述进行匹配。例如,在处理个人信息时,可能会将“小李”和“李小”这样的不同姓名表述匹配为同一实体。
  6. 数据验证:验证数据是否符合预设的规则或标准,确保数据的准确性和有效性。

在实际应用中,数据规范化有多种方法,例如Min-max规范化、Z-Score规范化以及小数定标规范化等。Min-max规范化是将原始数据投射到指定的空间[min,max],通过公式新数值 = (原数值-极小值)/ (极大值 - 极小值) 进行计算。Z-Score规范化则是将原始数据转换为正态分布的形式,使得结果更易于比较,其公式为新数值 = (原数值 - 均值)/ 标准差。而小数定标规范化则是通过移动小数点的位置来进行规范化,具体移动位数取决于数据取值的最大绝对值。

除了提高数据质量和一致性,数据规范化还有助于提高数据的准确性和有效性,使得不同来源的数据可以进行更好的比较和分析。同时,它也有助于确保数据的安全和隐私保护,降低数据泄露和滥用的风险。此外,数据规范化还是数据治理和管理的基础,为组织提供了更可靠的数据支持,有助于做出更明智的决策。

在数据库设计中,规范化同样是一个关键步骤。它通过消除冗余数据、降低数据的插入、更新和删除异常,使得数据库中的数据具有最小冗余、最高一致性和完整性。这有助于优化数据库的性能和安全性,提高数据的响应速度和吞吐量。

总的来说,数据规范化是确保数据质量、提高数据分析效率、保障数据安全以及优化数据库设计的重要手段。对于任何组织来说,实施数据规范化都是提升数据管理水平和竞争力的重要途径。

 极大值极小值规划

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter# 假设你的数据保存在一个名为 '各站点各时刻进出站客流数据.xlsx' 的 Excel 文件中
data = pd.read_excel('各站点各时刻进出站客流数据.xlsx')# 取前几行数据,如果只需要一部分数据进行分析的话
data = data.head(20)# 将'日期'和'时刻'列合并为一个时间戳
data['时间戳'] = pd.to_datetime(data['日期']) + pd.to_timedelta(data['时刻'], unit='H')# 设置 '时间戳' 列为 DataFrame 的索引,方便后续绘图
data.set_index('时间戳', inplace=True)# 删除原始的'日期'和'时刻'列
data.drop(['日期', '时刻'], axis=1, inplace=True)# 数据规范化 - 使用极大值和极小值进行规范化
def min_max_scaler(data_series):min_val = data_series.min()max_val = data_series.max()return (data_series - min_val) / (max_val - min_val)# 应用规范化函数到'进站人数'和'出站人数'列
data['进站人数'] = min_max_scaler(data['进站人数'])
data['出站人数'] = min_max_scaler(data['出站人数'])# 绘制进站人数的折线图
plt.figure(figsize=(12, 6))
plt.plot(data.index, data['进站人数'], label='进站人数', marker='o')# 绘制出站人数的折线图
plt.plot(data.index, data['出站人数'], label='出站人数', marker='o')# 设置图表标题和轴标签
plt.title('站点编号155随时间变化的进出站人数折线图')
plt.xlabel('时间')
plt.ylabel('规范化后的进出站人数')# 显示图例
plt.legend()# 格式化x轴时间戳显示
plt.gca().xaxis.set_major_formatter(DateFormatter('%Y-%m-%d %H:%M'))# 设置 Matplotlib 的参数,以使用支持中文的字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
plt.rcParams['axes.unicode_minus'] = False  # 正确显示负号# 显示图表
plt.show()

 

 零一规划

import pandas as pd  
import matplotlib.pyplot as plt  
from matplotlib.dates import DateFormatter  # 假设你的数据保存在一个名为 '各站点各时刻进出站客流数据.xlsx' 的 Excel 文件中  
data = pd.read_excel('各站点各时刻进出站客流数据.xlsx')  # 取前几行数据,如果只需要一部分数据进行分析的话  
data = data.head(20)  # 将'日期'和'时刻'列合并为一个时间戳  
data['时间戳'] = pd.to_datetime(data['日期']) + pd.to_timedelta(data['时刻'], unit='H')  # 设置 '时间戳' 列为 DataFrame 的索引  
data.set_index('时间戳', inplace=True)  # 删除原始的'日期'和'时刻'列  
data.drop(['日期', '时刻'], axis=1, inplace=True)  # 零一归化函数  
def normalize(data_series):  min_val = data_series.min()  range_val = data_series.max() - min_val  return (data_series - min_val) / range_val  # 应用零一归化到'进站人数'和'出站人数'列  
data['进站人数'] = normalize(data['进站人数'])  
data['出站人数'] = normalize(data['出站人数'])  # 绘制进站人数的折线图  
plt.figure(figsize=(12, 6))  
plt.plot(data.index, data['进站人数'], label='进站人数', marker='o')  # 绘制出站人数的折线图  
plt.plot(data.index, data['出站人数'], label='出站人数', marker='o')  # 设置图表标题和轴标签  
plt.title('站点编号155随时间变化的进出站人数折线图(零一归化)')  
plt.xlabel('时间')  
plt.ylabel('零一归化后的进出站人数')  # 显示图例  
plt.legend()  # 格式化x轴时间戳显示  
plt.gca().xaxis.set_major_formatter(DateFormatter('%Y-%m-%d %H:%M'))  # 设置 Matplotlib 的参数,以使用支持中文的字体  
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体  
plt.rcParams['axes.unicode_minus'] = False  # 正确显示负号  # 显示图表  
plt.show()

 

 不规划

import pandas as pd
import matplotlib.pyplot as plt# 假设您的数据保存在一个名为 '各站点各时刻进出站客流数据.xlsx' 的 Excel 文件中
data = pd.read_excel('各站点各时刻进出站客流数据.xlsx')
data = data.head(20)
# 选择需要进行归一化的列
columns_to_normalize = ['进站人数', '出站人数']# 绘制归一化后的进站人数和出站人数的折线图
plt.figure(figsize=(12, 6))# 绘制进站人数的折线图
plt.plot(data['时刻'], data['进站人数'], label='进站人数 (归一化后)', marker='o')# 绘制出站人数的折线图
plt.plot(data['时刻'], data['出站人数'], label='出站人数 (归一化后)', marker='o')# 设置图表标题和轴标签
plt.title('站点随时间变化的进出站人数折线图(归一化后)')
plt.xlabel('时间')
plt.ylabel('归一化后的进出站人数')# 显示图例
plt.legend()
plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置字体为黑体
plt.rcParams['axes.unicode_minus'] = False  # 正确显示负号
# 显示图表
plt.show()

数据集

站点编号日期时刻进站人数出站人数
1552015-10-0172941215
1552015-10-01811284067
1552015-10-01914413713
1552015-10-011020432976
1552015-10-011126783198
1552015-10-011225152804
1552015-10-011323132396
1552015-10-011417672680
1552015-10-011518732202
1552015-10-011618602350
1552015-10-011723481987
1552015-10-011811361982
1552015-10-011921251442
1552015-10-01201066930
1552015-10-01211273441
1552015-10-0122999323
1552015-10-012449194
1552015-10-027130648
1552015-10-0284962611
1552015-10-0297402284
1552015-10-021015371893
1552015-10-021119422232
1552015-10-021224831866
1552015-10-021315541607
1552015-10-021415171826
1552015-10-021515261784
1552015-10-021615391883
1552015-10-021720441784
1552015-10-021814001668
1552015-10-021920801292
1552015-10-0220949924
1552015-10-02211278427
1552015-10-0222660239
1552015-10-022310127
1552015-10-037118374
1552015-10-0384171363
1552015-10-0395681695
1552015-10-031014481781
1552015-10-031122591956
1552015-10-031223771724
1552015-10-031316921196
1552015-10-031415821488
1552015-10-031513091550
1552015-10-031615431685
1552015-10-031719481605
1552015-10-031814621683
1552015-10-031922181339
1552015-10-03201409731
1552015-10-03211347360
1552015-10-0322541209
1552015-10-03241792
1552015-10-047122280
1552015-10-0484021286
1552015-10-0496201684
1552015-10-041014471598
1552015-10-041121481644
1552015-10-041225631529
1552015-10-041315811171
1552015-10-041416291381
1552015-10-041516531580
1552015-10-041616901713
1552015-10-041723231761
1552015-10-041817191774
1552015-10-041930061412
1552015-10-04201687781
1552015-10-04211410421
1552015-10-0422868297
1552015-10-042462240
1552015-10-057123326
1552015-10-0584201192
1552015-10-0596901750
1552015-10-051011821455
1552015-10-051121791482
1552015-10-051224531491
1552015-10-051316351409
1552015-10-051416901579
1552015-10-051516801652
1552015-10-051617581908
1552015-10-051725101717
1552015-10-051815001856
1552015-10-051927541440
1552015-10-05201359761
1552015-10-05211437407
1552015-10-0522947315
1552015-10-0524111211
1552015-10-06797279
1552015-10-0684671196
1552015-10-0696701763
1552015-10-061013071314
1552015-10-061124631537
1552015-10-061228581568
1552015-10-061321101395
1552015-10-061423441559
1552015-10-061520811634
1552015-10-061619171648
1552015-10-061729351481
1552015-10-061816651469
1552015-10-061928621354
1552015-10-06201383920
1552015-10-06212423464
1552015-10-06221533300
1552015-10-0624104175
1552015-10-077112311
1552015-10-0784651296
1552015-10-0797901725
1552015-10-071015571385
1552015-10-071131211498
1552015-10-071233021723
1552015-10-071330681739
1552015-10-071428101852
1552015-10-071525601895
1552015-10-071624422063
1552015-10-071739321910
1552015-10-071821181907
1552015-10-071933081583
1552015-10-072015301060
1552015-10-07212897602
1552015-10-07221389319
1552015-10-0724144219
1552015-10-087169314
1552015-10-0886001573
1552015-10-0895822452
1552015-10-08109621468
1552015-10-081118251201
1552015-10-081213051207
1552015-10-081314221196
1552015-10-081414701532
1552015-10-081514241343
1552015-10-081613421242
1552015-10-081721861096
1552015-10-081812981297
1552015-10-081919021090
1552015-10-08201192608
1552015-10-08211128362
1552015-10-0822333274
1552015-10-082421197
1552015-10-097122222
1552015-10-0984941219
1552015-10-0995342236
1552015-10-09109221394
1552015-10-091118141206
1552015-10-091212021246
1552015-10-091312351071
1552015-10-091412811431
1552015-10-091513571323
1552015-10-091611861340
1552015-10-091717501392
1552015-10-091813801550
1552015-10-091920391307
1552015-10-09201080673
1552015-10-0921829284
1552015-10-0922323177
1552015-10-09241389
1552015-10-107106234
1552015-10-108463964
1552015-10-1095191942
1552015-10-101010641394
1552015-10-101117971256
1552015-10-101214131079
1552015-10-101313361132
1552015-10-101413441320
1552015-10-101513121371
1552015-10-101612921484
1552015-10-101717791466
1552015-10-101813251621
1552015-10-101921961838
1552015-10-10201411971
1552015-10-10211004379
1552015-10-1022379239
1552015-10-102424133
1552015-10-117124210
1552015-10-118417869
1552015-10-1196371350
1552015-10-111014451316
1552015-10-111121851168
1552015-10-111219311118
1552015-10-111314681195
1552015-10-111412611338
1552015-10-111512431539
1552015-10-111614851875
1552015-10-111720521975
1552015-10-111813102127
1552015-10-111919911865
1552015-10-112013461071
1552015-10-11211132434
1552015-10-1122434252
1552015-10-112421165
1552015-10-127154274
1552015-10-1285961200
1552015-10-1295212288
1552015-10-121011501578
1552015-10-121118481340
1552015-10-121213971193
1552015-10-121314111146
1552015-10-121412711318
1552015-10-121511611363
1552015-10-121611421316
1552015-10-121715221228
1552015-10-121812951186
1552015-10-121918861080
1552015-10-12201084600
1552015-10-1221813264
1552015-10-1222320166
1552015-10-122423120
1552015-10-137122218
1552015-10-1384671055
1552015-10-1394232008
1552015-10-131010651342
1552015-10-131115471203
1552015-10-13121339998
1552015-10-131312551003
1552015-10-131411641161
1552015-10-131510751281
1552015-10-131611061289
1552015-10-131715891217
1552015-10-131813031211
1552015-10-131919351102
1552015-10-13201173640
1552015-10-1321802276
1552015-10-1322320181
1552015-10-13242369
1552015-10-147113211
1552015-10-148427987
1552015-10-1494751999
1552015-10-141010191437
1552015-10-141116511197
1552015-10-141213491106
1552015-10-141313311022
1552015-10-141412851171
1552015-10-141510991206
1552015-10-141611491249
1552015-10-141715831077
1552015-10-141813851147

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/610287.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

史上首位阿贝尔奖、图灵奖双得主!2023图灵奖授予随机性大佬Avi Wigderson

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 这位多产的研究者发现了随机性和计算之间的深刻联系,其贡献影响了密码学、复杂性…

二叉树练习day.7

530.二叉搜索树的最小绝对差 链接:. - 力扣(LeetCode) 题目描述: 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 示例 1&…

【简明图文教程】Node.js的下载、安装、环境配置及测试

文章目录 前言下载Node.js安装Node.js配置Node.js配置环境变量测试后言 前言 本教程适用于小白第一次从零开始进行Node.js的下载、安装、环境配置及测试。 如果你之前已经安装过了Node.js或删除掉了Node.js想重新安装,需要先参考以下博客进行处理后,再根…

Harmony鸿蒙南向驱动开发-MIPI DSI接口使用

功能简介 DSI(Display Serial Interface)是由移动行业处理器接口联盟(Mobile Industry Processor Interface (MIPI) Alliance)制定的规范,旨在降低移动设备中显示控制器的成本。它以串行的方式发送像素数据或指令给外…

基于SpringBoot+vue网上点餐系统包含万字文档

基于SpringBoot的网上点餐系统包含万字文档 项目视频演示: springboot027网上点餐系统包含万字文档 开发系统:Windows 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要…

【文献管理】Zotero

软件介绍 文献管理软件Zotero功能强大、免费、使用便捷、可自由扩展功能,能极大地提升我们的学习、科研效率。 下载软件 Zotero官方网址 功能介绍 收集题录 管理题录 插入引文 同步文献 插件与常见问题 茉莉花 翻译 抓取失败编译器更新 样式下载地址 CNKI编译器…

6.12物联网RK3399项目开发实录-驱动开发之UART 串口的使用(wulianjishu666)

嵌入式实战开发例程【珍贵收藏,开发必备】: 链接:https://pan.baidu.com/s/1tkDBNH9R3iAaHOG1Zj9q1Q?pwdt41u UART 使用 简介 AIO-3399J 支持 SPI 桥接/扩展 4 个增强功能串口(UART)的功能,分别为 UA…

Python 全栈体系【四阶】(二十六)

第五章 深度学习 四、OpenCV 1. OpenCV安装 执行以下命令安装opencv-python库(核心库)和opencv-contrib-python库(贡献库)。注意:命令拷贝后要合成一行执行,中间不要换行。 # 安装opencv核心库 pip3 in…

用于扩展Qt本身的插件(上)

Qt自身插件 引言示例插件与应用插件的程序作为整体插件和应用插件的程序单独存在实现插件编写测试插件的程序应用插件运行结果引言 用于扩展qt自身的插件按照我的理解分为两种: 1. 直接扩展Qt自身,无需在QtCreator的设计器中加载; 2. 扩展Qt自身,同时需要在QtCreator的设计…

Java | Leetcode Java题解之第16题最接近的三数之和

题目&#xff1a; 题解&#xff1a; class Solution {public int threeSumClosest(int[] nums, int target) {Arrays.sort(nums);int n nums.length;int best 10000000;// 枚举 afor (int i 0; i < n; i) {// 保证和上一次枚举的元素不相等if (i > 0 && nums…

每天学点儿Python(6) -- 列表和枚举

列表是Python中内置的可变序列&#xff0c;类使用C/C中的数组&#xff0c;使用 [ ] 定义列表&#xff0c;列表中的元素与元素之间用英文逗号&#xff08; , &#xff09;分隔&#xff0c; 但是Python中列表可以存储任意类型的数据&#xff0c;且可以混存&#xff08;即类型可以…

未来课堂革命:OpenAI 发布 ChatGPT 使用指南,探索生成式 AI 如何重塑教育景观

随着新学期的来临&#xff0c;众多初登教师舞台的 00 后们&#xff0c;也完成了他们的第一个教师身份下的暑期生活。 对于开学的抵触情绪&#xff0c;不仅学生们普遍存在&#xff0c;许多 00 后的新晋教师们也同样感同身受。某种程度上&#xff0c;这些抗拒上班的年轻教师群体…