百科问答小站 logo
百科问答小站 font logo



数据分析为什么常用Jupyter而不是直接使用Python脚本或Excel? 第1页

  

user avatar   divinites 网友的相关建议: 
      

答案都是在说Jupyter Notebook好话的,我说一点滥用的可能性。


优点很多答案都说了,Notebook确实很强大,尤其适合Python/Shell/R这些解释型语言,比如我们读入了一个海量的数据库需要花5分钟,那么在编译型语言比如C/Java/Rust里面,每次编译运行都要花5分钟来读这个数据库。这个在实验各种数据处理的时候就非常的令人恼火,但是在notebook里面,这完全不是问题,我们可以复制很多个数据对象,然后一个一个的用来实验。


但是我仍然不太建议用Notebook作为写代码的主力,尤其是初学者。最好是在其他地方,比如Sublime Text、Vim、Pycharm、Rstudio等等先写个框架,分成小块贴到Notebook里面然后填充、调试和运行。


理由是这样的:因为Notebook可以非常的碎片化——比如一个cell就一行或者几行,所以需要写作者拥有较强的自律能力,在写代码的时候有计划的整理和组织cell以形成还不错的代码结构,但是碎片化运行的诱惑实在是太大了。


『我过滤了一下数据,把之前的那一行式子改一下参数再跑一下看看?』

『哎呀,之前写的那个函数应该再加一个argument,然后直接就可以处理现在的数据了』

……


到最后一两百个乱序的Cell,外加从一开始迭代到现在,很多类、函数和方程都已经修改的面目全非,import的库散落各地,连发现了问题想回滚几乎都是不可能的任务,于是怎么办呢?再开一个Notebook,把现在还能用的代码copy过去,重新开始一轮循环……


灵活性是优势,也是诱惑。程序语言社区讨论过为什么LISP这么强大的语言没有统治世界,反而现在的工业语言是C++/Java这种占多数。有一个人说的就非常的发人深省:

当你去写其他语言的时候,是你要扭曲自己来适应其他语言的范式,但是你去写LISP的时候,是LISP扭曲自己在适应你。


然后结果就形成了一个方言众多,极度分裂的LISP社区。

Notebook给个人,尤其是初学者带来的影响也是类似的。如果自身有一套成型的、还不错的编程习惯,那么notebook不会造成太大的影响,反而是锦上添花的利器;但是如果还没有形成自己的习惯,从一上手就用notebook,那需要时常自我约束一下,因为一旦形成了这种修修补补的碎片化的习惯,长期来看对自己的效率负面影响并不可忽视。




  

相关话题

  python setup.py data_files 设置要拷贝的文件,不能拷贝到安装目录下。要怎样解决? 
  可以用 Python 编程语言做哪些神奇好玩的事情? 
  我女儿刚刚学会走路,我是否该在她会识字后就立马教她Python? 
  如何评价科学家重命名了多个人类基因,以避免被 Excel 自动纠正?没有别的方法吗? 
  为什么 Excel 的最大行数是 1048576? 
  为什么几乎所有的量化交易都用Python? 
  数据分析为什么常用Jupyter而不是直接使用Python脚本或Excel? 
  用 Python 进行数据分析,不懂 Python,求合适的 Python 书籍或资料推荐? 
  中国要用多久才能研发出类似 Excel,且功能涵盖 Excel 95% 功能的替代软件? 
  tkinter可以做出多复杂的界面? 

前一个讨论
《仁王》和《只狼》哪个更能体现日本文化?
下一个讨论
你学经济学的初衷是什么,有何作为?





© 2024-11-05 - tinynew.org. All Rights Reserved.
© 2024-11-05 - tinynew.org. 保留所有权利