独家-10个数据科学家常犯的编程错误.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
数据科学家在进行编程时,经常会遇到一些常见的错误,这些错误可能会导致代码的可维护性和复用性降低。本文总结了10个资深数据科学家经常犯的编程错误,并提供了相应的解决方案。 1. **不共享代码中引用的数据**:数据科学家应该确保提供代码中所需的数据,或者提供获取数据的方法。例如,使用`d6tpipe`库来共享数据文件,或将数据上传至S3、Web或Google Drive等云存储服务,或者存储在数据库中,以便他人可以轻松访问。 2. **对无法访问的路径进行硬编码**:避免在代码中使用特定的本地路径,而应使用相对路径或全局路径配置变量。推荐使用`d6tpipe`来管理数据路径,使得代码更具可移植性。 3. **将代码与数据混合**:保持代码、数据、报告和输出文件的组织清晰。推荐使用项目模板如`Cookiecutter Data Science`或`d6tflow`,将数据、代码、报告等分门别类地存储。 4. **在Git中提交数据**:不要直接将数据文件加入版本控制,特别是大文件。可以使用`d6tpipe`、DVC(Distributed Version Control for Data)或Git Large File Storage (LFS)来处理数据版本控制。 5. **编写函数而不是DAG(有向无环图)**:数据科学任务往往涉及多个步骤,应该构建有向无环图(DAG)来表示任务间的依赖关系,而非简单地使用函数堆叠。考虑使用如`d6tflow`这样的工具来定义任务流程,提高代码的可读性和可维护性。 6. **写for循环**:在处理大量数据时,应尽可能使用向量化操作或Pandas的内置方法,以提高效率。避免使用for循环,除非必要,因为它们可能导致性能下降。 7. **不编写单元测试**:良好的代码实践要求编写单元测试,确保代码的正确性。对于数据科学项目,可以使用`pytest`等测试框架来验证函数和模块的行为。 8. **不写代码说明文档**:编写清晰的文档是至关重要的,包括函数和类的docstrings,以及项目级别的README文件。这有助于其他开发人员理解代码的目的和用法。 9. **将数据保存为csv或pickle文件**:虽然csv便于读写,但pickle文件可能不安全且不适用于长期存储。考虑使用更合适的格式如Parquet或HDF5,它们更高效且支持压缩。同时,对于模型,可以使用`joblib`或`pickle`,但要谨慎,以防止序列化安全问题。 10. **使用Jupyter Notebook**:尽管Notebook在探索性分析中非常有用,但它们不适合大型项目的维护。考虑将Notebook内容转化为Python脚本,使用如`nbconvert`工具。这样可以提高代码的可重复性和版本控制能力。 数据科学家应该注重代码的可读性、可维护性和复用性,遵循良好的编程实践,利用适当的工具和库来管理数据和流程,以提升工作效率和团队协作能力。
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/bbc92250992049f0a082665d2e3b058a_janejia82.jpg!1)
- 粉丝: 3
- 资源: 16万+
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 基于JAVA的药品管理系统(Vue.js+SpringBoot+MySQL)
- 基于JAVA的西安旅游系统(Vue.js+SpringBoot+MySQL)
- 毕业设计asp.net在线点歌系统-qr源码含文档工具包
- Eroded Mountains - Stamp Pack 1.0
- 07.kafka-eagle.zip
- 公众号源码/最新公众号回调多域名系统
- 基于JAVA的代驾管理系统(Vue.js+SpringBoot+MySQL)
- Whatsns内容付费seo优化带采集和熊掌号运营问答系统
- 基于JAVA的银行客户管理系统(Vue.js+SpringBoot+MySQL)
- 毕业设计asp.net图片管理系统-qp源码含文档工具包
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)