数据分析——数据规范化

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

  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.mzph.cn/news/808306.shtml

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

相关文章

【二分与前缀和】python例题详解

文章目录 1、数的范围 2、数的三次方根 3、前缀和 4、子矩阵的和 5、机器人跳跃问题 1、数的范围 题目 给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。对于每个查询,返回一个元素 k的起始位置和终止位置(位置从 00 开始计…

批归一化(BN)在神经网络中的作用与原理

文章目录 1. 批归一化(BN)在神经网络中的作用与原理1.1 作用与优势1.2 原理与推导 2. 将BN应用于神经网络的方法2.1 训练时的BN 2. 将BN应用于神经网络的方法2.1 训练时的BN2.2 测试时的BN代码示例(Python): 3. BN的优…

工厂方法模式(Factory Method Pattern)在JAVA中的应用

JAVA设计模式是一套被广泛认可的解决特定问题的最佳实践。在面向对象的软件设计中,设计模式可以帮助开发者构建可维护、可扩展和灵活的软件系统。本文将介绍工厂方法模式,这是一种创建型设计模式,它提供了一种创建对象的最佳方式。 ## 1. 工…

Day8:学习尚上优选项目

学习计划:完成尚硅谷的尚上优选项目 学习进度:尚上优选项目 知识点: 五、尚上优选微信小程序端 商品详情页 需求分析 页面效果功能分析对应接口 CompletableFuture异步编排 ⅰ. 问题引入并发、串行和并行CompletableFuture概述创建异步对象…

编程规范(保姆级教程)

文章目录 为什么需要编程规范?💡代码检测工具 ESLint💡代码格式化 Prettier💡ESLint 与 Prettier 配合解决代码格式问题eslint支持ts约定式提交规范Commitizen助你规范化提交代码什么是 Git Hooks使用 husky commitlint 检查提交…

探索设计模式的魅力:MVVM模式在AI大模型领域的创新应用-打破传统,迎接智能未来

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 MVVM模式在AI大模型领域的创新应用-打破传统迎接智能未来 🚀 “在人工智能的领域里&a…

算法训练营第37天|LeetCode 738.单调递增的数字 968.监控二叉树

LeetCode 738.单调递增的数字 题目链接: LeetCode 738.单调递增的数字 解题思路: 从后向前遍历,当不满足递增条件时,当前位置赋值为9,前一位减一。之后记录不满足位置,将后续全部赋值为9. 代码&#x…

【springboot】项目启动时打印全部接口方法

方法:在你springboot项目的基础上,创建下面的类: package com.llq.wahaha.listener;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework…

【Entity Framework】如何使用EF中的生成值

【Entity Framework】如何使用EF中的生成值 文章目录 【Entity Framework】如何使用EF中的生成值一、概述二、默认值三、计算列四、设置主键五、显示配置值生成六、设置日期/时间值生成6.1 创建时间戳6.2 更新时间戳 七、替代值生成八、无值生成九、总结 一、概述 数据库列的值…

DHCP抓包分析

DHCP动态路由配置协议,是C/S架构,由DHCP服务器为客户端动态分配IP信息。 DHCP客户端首次接入网络数据交互过程: 如何解决IP地址的冲突: ▫ DHCP服务器端:收到DHCP DISCOVER报文时,给客户端分配IP地址前会发…

【C++第三阶段】stackqueue容器

以下内容仅为当前认识,可能有不足之处,欢迎讨论! 文章目录 stack容器queue容器 stack容器 是什么?功能是什么?常用接口是什么?局限性有哪些?优势又有哪些? 栈容器,先进…

error-ckeditor-duplicated-modules 在vue中引入ckeditor插件报错

报错原因: 由于集成了webpack,统一引入了ckeditor ,但是页面里面我们又通过import引入了一遍,所以导致引入重复了 解决: ckeditor本身除了基本的一些功能,其他基本全靠插件引入,所以想加功能必…

速看!这8道嵌入式面试题你都会吗?

大家好,我是知微! 正逢求职季,分享一些嵌入式面试当中经常会遇到的题目,希望这些干货对小伙伴们面试有用哦! 1、介绍一下static关键字的作用 在C语言中,static 关键字有几种不同的作用,根据其…

谷歌推出Vids:AI驱动的PowerPoint,重新定义演示文稿的未来|TodayAI

不管你喜不喜欢,找到集成了AI技术以简化常见任务的工具和服务变得越来越容易。谷歌的应用套件迅速成为了一个集成了Gemini AI的产品中心,这些产品可以在工作场所到你的家中的任何地方使用。例如,如果在工作中做演示一直是你的痛点&#xff0c…

linux环境下安装 OpenDevin 遇到的问题以及解决方法

OpenDevin: Code Less, Make More https://github.com/OpenDevin/OpenDevin OpenDevin,一个引人注目的开源项目,旨在重现并超越Devin的卓越能力。Devin,作为一位拥有卓越技术实力的自主AI软件工程师,不仅能够执行高度复杂的工程任…

【AcWing】蓝桥杯集训每日一题Day25|最大公约数|算数基本定理|4199.公约数(C++)

4199.公约数 4199. 公约数 - AcWing题库难度:中等时/空限制:1s / 256MB总通过数:2801总尝试数:7059来源:AcWing第30场周赛算法标签最大公约数试除法二分 题目内容 给定两个正整数 a 和 b。 你需要回答 q 个询问。 每…

git操作码云(gitee)创建仓库到上传到远程仓库

想必有的小伙伴在为上传到码云远程仓库而感到烦恼吧!本篇为大家详细讲解实现过程,跟着我的步伐一步一步来。 我就当大家已经注册好了码云 一、在码云上需要的操作 接下来我们需要使用到 git 了 二、git 上的操作 到了咋们的git了,开整 首…

外包干了3天,技术退步明显.......

先说一下自己的情况,大专生,19年通过校招进入杭州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

Terraform 状态不同步处理

背景 在使用 Terraform 创建 TencentCloud TKE 的时候,手贱把 node pool 删掉了。导致执行 destroy, plan 都会报错。 │ Error: [TencentCloudSDKError] CodeInternalError.UnexpectedInternal, Messagerelated node pool query err(get node pool failed: [E501…

Python如何安装第三方模块

cmd窗口中使用pip install命令安装 1、键盘按下win R,然后在输入框中输入cmd,回车,就打开了cmd窗口。 下图的运行框会出现到屏幕左下角。 2、输入下面的命令,回车即可。 pip install xxx # xxx为要安装的模块名 如图所示&…