加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

十个编码进程中的“坑”,一篇文章帮你填平了!

发布时间:2019-06-12 08:10:50 所属栏目:建站 来源:读芯术
导读:数据科学家是比任何软件工程师都更善于统计学、又比任何统计学家都更善于软件工程的人。许大都据科学家都有统计学配景,但在软件工程方面履历很少。本文列出了常见的10个编码错误,但愿你能当真阅读并停止它们。 1. 没有共享代码中引用的数据 数据科学既需

为了急着做说明,你也许囫囵吞枣地弄出功效,然后把功效交给客户或老板;一个礼拜后,他们找到你说“能改一下这里吗”或“能更新一下这个吗”。这时你看看代码,完全不记适合初为什么这么写了。此刻想象一下,其他人还必需运行你的代码……

  1. defsome_complicated_function(data): 
  2.         datadata = data[data['column']!='wrong'] 
  3.         datadata = data.groupby('date').apply(lambdax: complicated_stuff(x)) 
  4.         datadata = data[data['value']<0.9] 
  5.         return data 

办理方案:在提供说明之后,也要耗费特另外时刻来记录编码时做了什么。你会信用本身这么做了的,其他人更会感激你!这样你会看起来更专业。

9. 将数据生涯为csv或pickle名目

回到数据,事实我们在谈数据科学。就像函数和for轮回一样,CSV和pickle文件很常用,但它们现实上并不是很好。CSV不包括架构,因此每小我私人都必需再次理会数字和日期。Pickles办理了这个题目但只能在python中行使而且不会被压缩。两者都不是存储大型数据集的好名目。

  1. defprocess_data(data, parameter): 
  2.     data = do_stuff(data) 
  3.     data.to_pickle('data.pkl') 
  4.   
  5. data =pd.read_csv('data.csv') 
  6. process_data(data) 
  7. df_train = pd.read_pickle(df_train) 

办理方案:

对数据模式行使 parquet(https://github.com/dask/fastparquet)或其他二进制数据名目,这两者是压缩数据的抱负名目。d6tflow自动将使命的数据输出生涯为parquet,这样就不消再劳神名目题目了。

10. 行使jupyternotebooks条记本

这一点大概颇具争议:jupyternotebooks和CSV一样广泛。许多人都行使它们。但这并不料味它们就是很好的器材。jupyternotebooks助长了上面提到的软件工程中的坏风俗,出格是:

  • 你很想将全部文件转储到一个目次中
  • 编写自上而下运行的代码,而不是DAGs
  • 没有将代码模块化
  • 难以纠错
  • 代码和输出混在一个文件中
  • 没有很好地举办版本节制
  • 上手很轻易,但扩展很难。

办理方案:

行使pycharm (https://www.jetbrains.com/pycharm/)和/或spyder(https://www.spyder-ide.org/)。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读