在统计学中,数据类型和结构是分析和解释数据的基础。不同的数据类型和结构决定了可以使用的统计方法和模型。
本文推介在网络统计学中运用JSON格式数据。
一、统计学中常见的数据类型和数据结构
1、数据类型
I、定类数据 ( Data)
II、定序数据 ( Data)
III、定距数据 ( Data)
IV、定比数据 (Ratio Data)
2、数据结构
I、横截面数据 (Cross- Data)
II、时间序列数据 (Time Data)
III、面板数据 (Panel Data)
统计数据是对自然和社会现象进行统计工作的结果,统计研究离不开统计数据。步入现代信息社会,信息的种类和数量越来越丰富,载体也越来越多。数字是数据,文字是数据,图像、音频、视频等都是数据。统计方法和技术被广泛运用于这些多样化的数据,统计数据的含义已经大大超出传统范畴,传统统计数据类型和结构的局限性也日渐突出。
图1:计算机科学中常见的数据结构
二、JSON数据类型和结构
在计算机网络技术支撑下进行统计工作,统计数据必须便于计算机软硬件在线或离线进行存储、处理、交换和展示。借鉴计算机技术广泛运用的数据格式和规范,网络统计数据可以借用JSON数据类型和结构来描述。
JSON( ,对象表示法)是一种轻量级的数据交换格式。它以易于人阅读和编写的文本格式存在,同时也易于机器解析和生成。JSON 通常用于在服务器和Web应用程序之间传输数据。
JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的语法习惯(包括C、C++、C#、Java、、Perl、等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。
1、JSON数据类型
从结构上看,所有的数据(data)最终都可以分解成三种类型:
第一种类型是标量(): 也就是一个单独的字符串()或数字(),比如"北京"这个单独的词;
第二种类型是序列():也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如"北京,上海";
第三种类型是映射(): 也就是一个名/值对(Name/value)。即数据有一个名称,还有一个与之相对应的值,这又称字典(),比如"首都:北京"。
数据构成的最小单位竟是如此的简单!在编程语言中,只要有了数组(array)和对象()就能够储存一切数据了。21世纪初, 寻找一种简便的数据交换格式,能够在服务器之间交换数据。当时通用的数据交换语言是XML( ,可扩展标记语言),但是 觉得XML的生成和解析都太麻烦,所以他提出了一种简化格式,也就是JSON。
JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、、Perl、等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写数据类型,同时也易于机器解析和生成(网络传输速率)。
Json的规则(结构)比较简单,只用一个页面几百个字就能说清楚,而且 声称这个规格永远不必升级,因为该规定的都规定了。
2、JSON数据规则(结构)
上面四条规则,就是JSON格式的所有内容。
比如,下面这句话:
"北京市的面积为16800平方公里,常住人口1600万人;上海市的面积为6400平方公里,常住人口1800万"。写成JSON格式就是这样:
[
{"城市":"北京","面积":16800,"人口":1600},
{"城市":"上海","面积":6400,"人口":1800}
]
注:JSON字典数据{"城市":"北京","面积":16800,"人口":1600}中,"城市"、"面积"和"人口"称为名、"北京"、16800和1600称为值。名必须字符或由字符开头,并且加英文双引号(" ");值为字符时加引号,为数字时可以不用引号、也可以加引号
如果事先知道数据的结构,上面的写法还可以进一步简化:
[["北京",16800,1600],["上海",6400,1800]]
注:JSON数组数据[["北京",16800,1600],["上海",6400,1800]]中只有值(元素)、没有名。和字典一样,值为字符时加引号,为数字时不用引号
由此可以看到,JSON非常易学易用。所以,在短短几年中,它就取代XML,成为了互联网上最受欢迎的数据交换格式。
JSON的语法源自的对象表示法。它由 在2000年代早期开发出来,作为一种轻量级的数据交换格式。虽然JSON的语法来源于,但它是独立于的,可以在几乎所有主流编程语言中解析和生成。例如、Java、C#等都有相应的库来处理JSON数据。提供了两个全局对象方法来处理JSON,JSON.()将对象转换为JSON字符串;JSON.parse()将JSON字符串解析为对象。
当统计数据以格式化文本或表格形式存储时,计算机软件读取这些数据时即可将它们转换为JSON数据格式,以便于后续处理和运算。统计数据经常用表格或图形来展示,但表格和图形底层的数据都可以通过JSON数据来描述。
在实际运用中,JSON数据的结构较为复杂,但语法规则不变。下面链接地址是腾讯股票(中国船舶)行情的API数据接口:
https://web.ifzq.gtimg.cn/appstock/app/fqkline/get?_var=r_sh600150¶m=sh600150,day,2022-01-01,2024-11-13,500,qfq
在浏览器中打开链接数据类型,获得JSON数据(片段)如下:
r_sh600150={"code":0,"msg":"","data":{"sh600150":{"qfqday":
[["2022-05-23","16.970","17.300","17.440","16.900","347653.000"],
["2022-05-24","17.430","16.750","17.760","16.740","493181.000"],
["2022-05-25","16.850","17.410","17.670","16.800","484693.000"],
["2022-05-26","17.250","17.980","18.220","17.250","599372.000"],
["2022-05-27","17.950","17.870","18.090","17.690","359619.000"],
["2022-05-30","18.100","18.560","18.740","17.910","651801.000"],
["2022-05-31","18.380","18.570","18.840","18.270","376848.000"],
["2022-06-01","18.590","19.450","19.860","18.450","713671.000"],
["2022-06-02","19.350","19.110","19.430","18.850","557666.000"],
["2022-06-06","18.700","18.910","19.260","18.670","583912.000"],
["2022-06-07","18.800","18.860","19.210","18.550","515575.000"],
["2022-06-08","18.890","18.880","19.000","18.410","580303.000"],
["2022-06-09","18.830","19.160","19.390","18.720","804418.000"],
["2022-06-10","18.950","19.130","19.470","18.880","835170.000"],
["2022-06-13","19.160","19.750","19.950","19.090","651422.000"],
["2022-06-14","19.330","19.790","19.850","18.990","529130.000"],
["2022-06-15","19.790","20.030","21.150","19.790","854416.000"],
["2022-06-16","20.250","20.090","20.440","19.710","444451.000"],
["2022-06-17","19.950","19.310","20.400","19.050","946980.000"],
["2022-06-20","19.050","19.230","19.500","18.750","603497.000"],
["2022-06-21","19.190","18.810","19.420","18.600","396024.000"],
["2022-06-22","18.840","19.110","19.580","18.750","544942.000"],
["2022-06-23","19.030","19.460","19.570","18.900","400074.000"],
["2022-06-24","19.560","19.580","19.980","19.300","416985.000"],
... ...
在后续文章统计数据处理过程中,我们会通过脚本语言轻易读取和处理这类JSON数据。
【简答题及参考答案】
D1:定类数据、定序数据、定距数据、定比数据。
D2:仅用于标识类别或类型,没有内在顺序。
D3:定序数据具有明确的顺序,而定类数据没有内在顺序。
D4:定距数据没有绝对零点,而定比数据有绝对零点。
D5:横截面数据是在某一特定时间点或较短时间内从多个个体或单位收集的数据,
时间序列数据是在不同时间点对同一个体或单位收集的数据。
D6:对多个个体或单位在不同时间点收集的数据,结合了横截面数据和时间序列数据的特点。
D7:JavaScript Object Notation(JavaScript对象表示法)。
D8:标量(scalar)、序列(sequence)、映射(mapping)。
D9:并列的数据之间用逗号(",")分隔;映射用冒号(":")表示;
并列数据的集合(数组)用方括号("[]")表示;映射的集合(对象)用大括号("{}")表示。
D10:使用JavaScript中的JSON.stringify()方法。
注:更多类型练习题及参考答案见后续在线测试部分
限时特惠:本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情
站长微信:Jiucxh