MATLAB、Python、excel之间的取舍?

理由
举报 取消

我现在是学生,时间也是有限的,将来想做数据分析,较熟练使用的软件是MATLAB,但是听说工作中广泛应用的是Phython,和Excel,所以犹豫是不是需要开始学习这两个软件?如果学的话,哪个侧重点高一点呢?现在有必要重点学习excel吗?感觉excel很容易上手,等工作需要的时候现学可以吗?

2017年5月29日 6 条回复 1865 次浏览

发起人:小猫钓鱼 初入职场

回复 ( 6 )

  1. find goo
    理由
    举报 取消

    做商业数据分析,优先用sql来分析,一般用java,c#就可以分析完成任务。如每天定时从某数据库中采集数据分析,用c#开发方便,在linux中用java。

    如果是大数据用hadoop,spark,用大数据工具分析很累,很多函数需要自己写(现在有插件支持sql,但功能不够丰富),前提是数据量很大,如达到pb级别的数据,也只能用这个了,因为数据库跑起来卡得不行。

    智能数据分析,高级一点的用python,matlab的程序分析,支持机器学习,神经网络,svm,模式识别,各种科学计算。

    能用excel的地方,优先用sql数据库,数据库系统支持tb级别的数据分析不是问题,excel适合分析结果导出给别人,可以生成个图表什么的,打印什么的。但excel支持的数据量比较小,超过了100m就开始卡了。我一般用sql生成csv再导入excel展示数据结果给别人看。

    如果用程序做自动化分析,如每天分析结果发邮件给自己,用python,支持数据图片,支持linux服务器(用java也可以,但java一般需要编译,工程化较重,不方便临时修改,但java适合商业环境)。

    做科学计算,人工智能,算法研究,模拟仿真用matlab比较好,内置函数丰富规范,比较省力。

    把以上工具结合起来用,更好用。

  2. 芷菡
    理由
    举报 取消

    为什么Excel能和MATLAB,python相提并论?

  3. LUBB
    理由
    举报 取消

    本人数学专业,大学时候老师告诉我,学好了MATLAB以后不工愁没工作。

    现在工作几年,如果是我回到学生时代,肯定会好好学MATLAB,学到很熟。同学现在在华为,具体岗位记不清了,工作只用一个MATLAB就搞定。我是大大小小换过几家公司,基本都是做数据运营,excel用的多,MATLAB都忘干净了。

    建议,先把matelab学精,然后Python,在后熟悉excel。如果你想把excel学的很好的话,还要学VBA。

    简单数据或者只是做数据/图标呈现的话,就用excel。如果需要抓取大量数据,用于数据挖掘,就用Python,对数据做较复杂的逻辑处理处理的话,还是MATLAB。

    仅个人之言

  4. 爱因斯法
    理由
    举报 取消

    题主说想做数据分析,再回答本问题之前,我想问题主一个问题:我想砍树,请问我在锄头、手工锯、电锯之间如何取舍?

    肯定是手工锯和电锯之间选择或者配合使用。

    MATLAB是matrix&laboratory两个词的组合

    数据分析至少包括数据采集,清洗,分析。

    Python可以提供一整套的数据采集,清洗,分析的工具,然而R仅仅是分析工具。

    刚才说到海量数据分析,Python与R相比速度要快。Python可以直接处理上G的数据;R不行,R分析数据时需要先通过数据库把大数据转化为小数据(通过groupby)才能交给R做分析,因此R不可能直接分析行为详单,只能分析统计结果。Python(R+SQL/HiveR)的优势在于有包罗万象的统计函数可以调用,特别是在时间序列分析方面(主要用在金融分析与趋势预测)无论是经典还是前沿的方法都有相应的包直接使用;相比python在这方面贫乏不少。Python的优势在于其胶水语言的特性,一些底层用C写的算法封装在python包里后性能非常高效(Python的数据挖掘包Orange canve 中的决策树分析50万用户10秒出结果,用R几个小时也出不来,8G内存全部占满)。总的来说Python是一套比较平衡的语言,各方面都可以,而R是在统计方面比较突出。但是数据分析其实不仅仅是统计,前期的数据收集,数据处理,数据抽样,数据聚类,以及比较复杂的数据挖掘算法,数据建模等等这些任务,只要是100M以上的数据,R都很难胜任,但是Python却基本胜任。
    Python是一门多功能的语言。数据统计是更多是通过第三方包来实现的。具体来说,我常用的Python在统计上面的Package有这样一些1.Numpy与Scipy。这两个包是Python之所以能在数据分析占有一席之地的重要原因。其中Numpy封装了基础的矩阵和向量的操作,而Scipy则在Numpy的基础上提供了更丰富的功能,比如各种统计常用的分布和算法都能迅速的在Scipy中找到。2.Matplotlib。这个Package主要是用来提供数据可视化的,其功能强大,生成的图标可以达到印刷品质,在各种学术会议里面出镜率不低。依托于Python,可定制性相对于其他的图形库更高。还有一个优点是提供互动化的数据分析,可以动态的缩放图表,用做adhoc analysis非常合适。3.Scikit Learn。非常好用的Machine Learning库,适合于用于快速定制原型。封装几乎所有的经典算法(神经网络可能是唯一的例外,不过这个有Pylearn2来补充),易用性极高。4.Python标准库。这里主要是体现了Python处理字符串的优势,由于Python多功能的属性和对于正则表达式的良好支持,用于处理text是在合适不过的了。

    Python有替代MATLAB做数据处理、分析的势头

    Python和R相比在统计上还是欠缺不少的。R上很多开源统计包和软件Python上暂时找不到好的替代,比如做bioinf的Bioconductor。SAS一般给药厂人用的比较多,因为基于FDA认证这层关系,其它软件的功能和效用上并不能很好地代替它。SPSS一般是做普通的社科统计用的,只需要会鼠标点击、设置相应参数即可。再说性能。Python的性能不错,开发速度快,很容易做出数据量稍大,比如上GB情况下的Demo。这一点R和Matlab是略困难的。注意我的机器是24核96G RAM下谈的,普通笔记本更不能奢望能直接用MATLAB和R挑战GB以上的原始数据。光是Parsing就很慢。针对超大数据集,开源的Python、R都有自己的解决方案,比如Rhadoop或者GPU包。SAS貌似也有支持,MATLAB略困难。SPSS没有这方面支持。

    可以参考一下回答:

    如何快速成为数据分析师? – 知乎

    想学数据分析(人工智能)需要学哪些课程? – 知乎

    数据分析师和数据科学家有何区别? – 知乎

    工具只是工具,语言也只是工具,解决问题才是最重要的,不要为了学语言而学语言。带着问题去学。

    最后强推一下慢慢崛起的Julia language。麻理精品。

  5. 势求遇运
    理由
    举报 取消

    1. excel

    上手度:容易

    优点:分析结果较为直观,对于中小规模数据处理快捷而简单

    缺点:不适合处理大数据;自创或者修改已有的数学模型较为麻烦

    进阶技能:学会使用数据分析模块;学会加载公开的新模块;学会VBA的使用

    2. matlab

    上手度:适中

    优点:功能强大,各种toolbox适合于分析多种类不同的数据,内嵌多种现存的模型和函数可以直接调用

    缺点:正版挺贵的;处理字符串略麻烦;对机器性能要求较高

    进阶技能:学会加载公开的新模块;编写m文件的时候能够尽量多使用矩阵运算

    3. python

    上手度:难度较大,但是若有一定的编程经验或者有高手带入门则难度降至matlab同级

    优点:模块丰富,字符串处理能力强,可以从事于从数据的清洗到分析整套流程;免费

    缺点:毕竟是免费的,有些计算模型不一定已经写好了,这个时候就需要自己补充了

    进阶技能:用得越熟练越好

我来回答

Captcha 点击图片更换验证码