浅析桌面端数据分析程序语言

桌面端数据分析程序语言,其重点是使用方便且计算能力强。考察某种语言是否适合进行桌面端数据分析,可以用六个指标来衡量:应用环境、文件处理、文本和字符串处理、结构化数据处理、模型预测算法、其他非重点指标

一、应用环境

进行桌面数据分析的用户绝大多数都不是专业程序员,他们更习惯在windows下工作,他们缺乏专业程序员拥有的配置环境的技能,因此桌面端分析程序语言的应用环境应当足够简单,应当支持windows,应当易于安装部署。

集算器和R语言这方面做得都不错,应用环境简单,直接安装即可使用;Python本身也问题不大,但经常要用到的Pandas包(加强Python计算能力)在linux下的安装较轻松,在windows下的安装却很复杂,对版本很挑剔;SSAS是微软产品,对Windows支持很好,但安装配置过程有些复杂。

二、文件处理

TXT和XLS文件是日常工作中最容易产生出来的文件格式,对这两种文件格式的支持越好,则说明分析语言越好用。

各分析语言一般都直接支持TXT,但XLS的情况复杂些,尤其是第三方模块的安装和版本兼容性。Excel和SSAS都是微软产品,因此SSAS可以无缝支持XLS。集算器、SPSS、SAS也不需要安装第三方包,可以直接访问XLS。Pandas的情况有点特殊,Pandas直接支持XLS,但Pandas本身就是第三方库函数,另外Pandas对某些版本的XLS支持不好。R需要安装第三方库函数和Perl运行环境,而R、第三方库函数、Perl,这三者的版本要匹配才行,安装过程很麻烦。

读写操作方面,SSAS最易用,Pandas和R提供的参数较丰富。

文件处理还要考虑对大文件的支持,比如边读边处理的能力。这方面集算器最擅长,代码也最简练。

三、文本和字符串处理

原始数据有时不够规整,经常是半结构化或非结构化的,这时就需要对数据进行前期处理,从而形成易于使用的结构化数据,因此文本和字符串处理能力也是分析语言的考察重点。

Python在这方面最擅长,R也不错,集算器稍次,SSAS最不擅长。

四、结构化数据处理

在桌面端分析的数据事实上大多是结构化数据,因此结构化计算是桌面数据分析中最常见的计算形式,结构化计算能力也是桌面端数据分析程序语言的核心能力。

集算器的设计目标就是结构化数据计算,因此在这方面最专业。R新加了数据框这种数据类型,但仍不够专业,特别在有序计算方面要弱于集算器。Pandas的数据框仿照R并做了优化,能力和R不相上下但会更好理解一些。相比之下,SPSS、SAS、SSAS,这三种工具的结构化计算能力偏弱。

有序计算是指同期比、比上期、相对区间取数、分组中的排名、分组中取前后几名等算法。有序计算经常涉及到相对位置和跨行组,是桌面端数据分析中的典型问题。集算器天生具有序号,在有序计算方面表现最好。Python、R在这方面也很强,但它们以向量为基本元素,而不是记录,因此代码比较难懂,更适合科学家使用。

五、模型预测算法

模型和预测主要用于科学领域,虽然在桌面端数据分析中不多见,但仍然是不可或缺的一项指标。

R在这方面拥有最新和最丰富而且最成熟的第三方算法,SASS要简单易用但不够灵活,Python/Pandas一直在追赶模仿R,语法更易理解但成熟度还有差距,SAS和SPSS更为权威。相比之下,集算器几乎没有现成的模型预测算法。

六、其他非重点指标

还有些非重点的指标在特定情况下也会被关注,比如对数据库的支持,绘图能力,对并行计算的支持。

SASS对数据库支持最好,但不擅长文本文件、数据库、自定义数据之间的混合计算。集算器对数据库的支持也不错,对异构数据源之间也支持良好。Pandas、R、SAS、SPSS对数据库的支持一般,对异构数据源支持也不够好。

SASS在绘图方面最美观,但灵活性不足。R、集算器、Pandas的灵活性足够强,内置的统计图也很多。

并行计算方面,集算器内置并行计算引擎,配置方便,容易开发。R要通过第三方软件才能支持并行计算,而且配置复杂,开发困难。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-10 21:55:33

浅析桌面端数据分析程序语言的相关文章

ASP.NET Zero--后端应用程序

后端应用程序 这是用户名和密码输入的实际应用程序.您将主要在此应用程序上添加您的业务需求. 应用文件夹 后端应用程序默认内置在专用区域,名为“ App ”,但可以在创建解决方案时确定.因此,所有控制器,视图和模型都位于 Areas / App文件夹下.此外,相关脚本和样式文件位于wwwroot / view-resources / Areas / App文件夹下,如下所示: 主菜单 应用程序的主菜单在AppNavigationProvider 类中定义.请参阅ABP的 导航文档,以深入了解创建菜

了解的应用领域 程序语言的岗位

各种常见的编程语言最广泛应用的领域分别是 C 操作系统.嵌入式.自动化控制C++ 游戏.游戏服务器框架及游戏引擎.一些GUI框架.科研.编译器.图形学C# Windows Phone.Windows桌面应用..NET webJava Web.AndroidGo 服务器.据说设计的初衷是代替C++,具体如何还要观望Erlang 高并发服务器Python Web.科学计算.运维Ruby WebPerl 运维.文本处理Lisp 科研.Emacs. Haskell 商业应用蛮少的记得有个比较有名的做金融

H5缓存机制浅析-移动端Web加载性能优化【干货】

转载:H5缓存机制浅析-移动端Web加载性能优化[干货] 作者:贺辉超,腾讯游戏平台与社区产品部 高级工程师 目录 1 H5缓存机制介绍 2 H5缓存机制原理分析 2.1 浏览器缓存机制 2.2 Dom Storgage(Web Storage)存储机制 2.3 Web SQL Database存储机制 2.4 Application Cache(AppCache)机制 2.5 Indexed Database (IndexedDB) 2.6 File System API 3 移动端Web加载

程序语言基础

1.基础知识 低级语言:机器语言.汇编语言 高级语言: 汇编程序 编译程序:1.生成目标程序OBJ;2.执行OBJ文件   效率高,占用资源小:兼容性差 解释程序:每个语句逐一解释执行    可移植性好,开发速度快,与用户通讯方便:效率低 2.编译系统基本原理(3-5分) 编译程序: 6个阶段: 词法分析(关键字.标识符.常量.运算符.界符……) 语法分析(表达式.赋值.循环,是否符合语法规则),语句的语法是否逻辑正确(自上而下分析法.自下向上分析法) 语义分析(类型分析.检查),赋值语句左右端

【开源夏令营优秀开题报告】专题之四-桌面端合集

CSDN开源夏令活动已经正式进入第一实习阶段,我们遴选出部分优秀提案开题报告进行展示.本文是桌面端开题报告展示. 编者按:CSDN开源夏令活动,已经正式进入第一实习阶段,我们遴选出了部分提案的优秀开题报告进行展示.优秀开题报告作者将得到CSDN高校俱乐部发出的"2014开源夏令营荣誉证书"及纪念品一份. 提案一:Linux程序快速启动工具 提案简介:本提案主要开发新型的Linux下程序启动操作方式. 提案地址:http://code.csdn.net/os_camp/33/propos

Python 是电视剧,Java 是咖啡屋小甜心,程序语言都是如何命名的?

打开 TIOBE Index 世界编程语言排行榜,出现在榜单上的程序语言名称多半都让人一头雾水.一些程序语言的作者会以「这种语言是什么」来命名语言,比如 BASIC.COBOL.TCL.LISP:另一些语言则是由它从哪些现有语言派生而来命名,像是 C++,C#:当然还有一些来源于数学家或计算机科学家的名字,其中的代表则是 Ada,Pascal,Turing. 但也有很多程序语言的名称是编写者随便拍脑门和大腿瞎想出来的,这篇文章里要讲的这几个就是如此. Python 不是大蟒蛇,是个BBC电视剧

Hybrid App是如何实现网页语言与程序语言的混合?谁占主体?

[编者按]本文作者@徐珂铭,一位看好Html5的移动互联网的从业人士.喜爱玩技术,会点JAVA.HTML及CSS,有自己的想法及姑且能表达想法的文字,因此有了自己的文章. 基于HTML5的Web App在移动端接受实用性检验后,开发者从热情转为观望.这时候Hybrid App作为现阶段HTML5技术的落脚点正悄然兴起!Native App和Web App的论战加入了一个新的角色Hybrid App. 但究竟什么是Hybrid App?如何定义? 汽车有混合动力Hybrid,移动应用同样也有混合模

再谈编程范式—程序语言背后的思想

编程范式 托马斯.库尔提出“科学的革命”的范式论后,Robert Floyd在1979年图灵奖的颁奖演说中使用了编程范式一词.编程范式一般包括三个方面,以OOP为例: 1,学科的逻辑体系——规则范式:如 类/对象.继承.动态绑定.方法改写.对象替换等等机制. 2,心理认知因素——心理范式:按照面向对象编程之父Alan Kay的观点,“计算就是模拟”.OO范式极其重视隐喻(metaphor)的价值,通过拟人化,按照自然的方式模拟自然. 3,自然观/世界观——观念范式:强调程序的组织技术,视程序为松

重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印

重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印 一.引言 桌面端系统经常需要对接各种硬件设备,比如扫描器.读卡器.打印机等. 这里介绍下桌面端系统打印经常使用的场景. 1.一种是类似票务方面的系统需要打印固定格式的票据.比如景点门票.车票.电影票. 这种基本是根据模板调整位置套打. 2.还有一种是交易小票,比如商超POS小票,打印长度会随着内容的大小自动伸缩. 这种就不仅仅是固定格式的套打了,还得计算数据行以适应不同的打印长度. 打印方式