百科问答小站 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 工程师很少像 Java 工程师那样讨论垃圾回收? 
  为什么看不懂廖雪峰的Python学习教程? 
  你是如何开始能写 Python 爬虫? 
  如何使用 python 写一个简单的表达式解释器? 
  Python有哪些杀手级超厉害框架或库或应用? 
  python这个按分类转换列表如何写? 
  如何看待风变编程的 Python 网课? 
  'module' object has no attribute 'HTTPSConnection' 问题? 
  数据分析为什么常用Jupyter而不是直接使用Python脚本或Excel? 
  如何用python读取下面的csv文件? 

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





© 2025-05-06 - tinynew.org. All Rights Reserved.
© 2025-05-06 - tinynew.org. 保留所有权利