数据文件夹结构的最佳实践是什么?

数据挖掘 Python 数据库 项目计划
2022-03-11 19:42:18

我在一家小型数据科学咨询公司工作,我们正在尝试标准化我们的项目文件夹结构。我们从cookiecutter 结构开始,这是一个很好的基础。

然而,讨论点之一在于数据文件夹的子文件夹,其结构如下:

  • 生的
  • 临时
  • 处理

让我们考虑以下情况:

  1. 客户端为您提供手动提取的 csv 文件 -> 这显然进入 Raw
  2. 您可以访问 SQL 数据库并进行无修改提取 -> 我猜仍然是 Raw 吗?
  3. 由于数据库非常大,您创建了一个半复杂的 SQL 查询作为功能的基础 -> 这是原始的还是临时的?

您应用的最佳实践是什么?你会推荐什么?

ps:非常欢迎按照这种结构构建的 Github 项目的链接

1个回答

您应用的最佳实践是什么?你会推荐什么?

我的做法是“有点结构化但每次都完全不同”,我不推荐它;)

我怀疑我不是唯一一个,但我没有任何统计数据。

感谢 Cookiecutter 的链接,这看起来很有趣!在阅读了一些内容之后,在我看来,一个关键标准是:“任何人都应该能够仅使用 src 中的代码和 data/raw 中的数据来重现最终产品。”

基于此,我认为:

  1. 您可以访问 SQL 数据库并进行无修改提取 -> 我猜仍然是 Raw 吗?

是的,因为这些数据不能通过处理原始数据的其他部分来获得。

  1. 由于数据库非常大,您创建了一个半复杂的 SQL 查询作为功能的基础 -> 这是原始的还是临时的?

假设此查询在原始 sql 数据库上运行,结果数据将转到interim,因为它可以通过再次运行查询重新生成。查询本身应该存储在src/features我认为。