零、前言

由于这些库提供的便利性和性能,大多数数据分析师使用 Python 和 pandas 进行数据处理和操作。然而,JavaScript 开发人员一直希望机器学习 ( ML )也能在浏览器中实现。这本书重点介绍了 Danfo.js 如何为 JavaScript 开发人员带来数据处理、分析和 ML 工具,以及如何充分利用这个库来开发数据驱动的应用。

这本书首先介绍了 JavaScript 概念和现代 JavaScript。然后,您将使用 Danfo.js 和 Dnotebook 来介绍数据分析和转换,Dnotebook 是一个用于 JavaScript 的交互式计算环境。之后,本书讲述了如何加载不同类型的数据集,并通过执行操作(如处理缺失值、合并数据集和字符串操作)来分析它们。通过将 Danfo.js 与 Plotly 相结合,您还将专注于数据绘图、可视化、数据聚合和分组操作。稍后,您将在 Danfo.js 的帮助下创建一个无代码数据分析和处理系统。然后,您将了解基本的 ML 概念以及如何使用 Tensorflow.js 和 Danfo.js 来构建推荐系统。最后,您将构建一个由 Danfo.js 提供动力的 Twitter 分析仪表板。

到本书结束时,您将能够在服务器端 Node.js 或浏览器中的任何 JavaScript 应用中构建和嵌入数据分析、可视化和 ML 功能。

这本书是给谁的

本书面向数据科学初学者、数据分析师和 JavaScript 开发人员,他们希望使用广泛的数据集探索数据分析和科学计算的每个阶段。如果您是数据分析师、数据科学家或希望在 ML 工作流中实现 Danfo.js 的 JavaScript 开发人员,您也会发现这本书很有用。对 JavaScript 编程语言、数据科学和 ML 的工作理解将有助于您理解本书涵盖的关键概念;但是,在本书的第一章和附录中提供了一个介绍性的 JavaScript 部分。

这本书涵盖了什么

第 1 章 【现代 JavaScript 概述】讨论了 ECMA 6 语法以及import语句、类方法、extend方法和构造函数的使用。它还深入解释了Promise方法、asyncawait功能的使用以及fetch方法。它还介绍了如何建立一个支持现代 JavaScript 语法和适当版本控制的环境,以及如何编写单元测试。

第二章 ,Dnotebook -一个 JavaScript 的交互计算环境,潜入 Dnotebook。对于来自 Python 生态系统的读者来说,这类似于 Jupyter Notebook。我们讨论如何使用 Dnotebook,如何创建和删除单元格,如何在其中写 Markdown,以及如何保存和共享您的笔记本。

第三章 【丹佛号入门】介绍丹佛号以及如何创建 DataFrames 和系列。还介绍了数据分析和处理的一些基本方法。

第 4 章 【数据分析、清理和转换】介绍了 Danfo.js 在真实数据集上的实际应用。在这里,您将学习如何加载不同类型的数据集,并通过执行诸如缺失值处理、计算描述性统计、执行数学运算、组合数据集和字符串操作等操作来分析它们。

第五章 ,用 Plotly.js 进行数据可视化,介绍数据的标绘和可视化。在这里,您将学习数据可视化和绘图的基础知识,以及如何使用 Plotly.js 进行基本绘图。

第六章 ,用 Danfo.js 进行数据可视化,介绍了用 Danfo.js 进行数据出图和可视化,在这里,你将学习如何使用 Danfo.js 直接在 DataFrames 或 series 上创建出图。您还将学习如何自定义 Danfo.js 图。

第七章 【数据聚合和分组操作】介绍了分组操作以及如何使用 Danfo.js 执行分组操作,包括如何按一列或多列分组,如何使用提供的分组聚合函数,以及如何使用.apply创建自定义聚合函数。我们还展示了分组操作的内部是如何工作的。

第八章 ,创建无代码数据分析/处理系统,展示了 Danfo.js 能让我们做什么。在本章中,我们将创建一个无代码数据处理和分析环境,用户可以在其中上传他们的数据,然后艺术地分析和处理他们的数据。

机器学习基础第九章 简单介绍了 ML。它还向您展示了如何借助一些 ML JavaScript 工具在浏览器中完成 ML。

第 10 章【TensorFlow.js 简介】介绍了 tensorflow . js,还展示了如何执行基本的数学运算,以及如何创建、训练、保存和重新加载 ML 模型。本章还展示了如何集成 Danfo.js 和 Tensorflow.js 来有效地训练模型。

第十一章 ,用 Danfo.js 和 TensorFlow.js 搭建推荐系统,向大家展示了如何使用 TensorFlow.js 和 Danfo.js 搭建电影推荐系统,向大家展示了如何在 Node.js 中训练模型,以及如何与客户端进行集成。它还展示了 Danfo.js 如何使数据预处理变得容易。

第 12 章 ,构建 Twitter 分析仪表盘,就是你将在前端和后端使用 Danfo.js 构建 Twitter 分析仪表盘的地方;目的是展示在整个数据分析应用中使用同一个库有多容易,例如,与后端使用 Python 和前端使用 JavaScript 相比。

第十三章 ,附录:必不可少的 JavaScript 概念,介绍了 JavaScript 编程语言。在这里,我们向初学者介绍变量定义、函数创建以及用 JavaScript 执行计算的不同方法。

为了充分利用这本书

在这本书里,你将需要 JavaScript 的基础知识和框架知识,比如 Next.js、React.js、TensorFlow.js 和 tailwindcss 将是一个加分项。

如果您正在使用本书的数字版本,我们建议您自己键入代码或从本书的 GitHub 存储库中访问代码(下一节提供了一个链接)。这样做将帮助您避免任何与复制和粘贴代码相关的潜在错误。

下载示例代码文件

你可以在https://GitHub . com/PacktPublishing/Building-Data-Driven-Applications-with-danfo . js下载本书的示例代码文件。如果代码有更新,它将在 GitHub 存储库中更新。

我们还有来自 https://github.com/PacktPublishing/丰富的书籍和视频目录的其他代码包。看看他们!

下载彩色图片

我们还提供了一个 PDF 文件,其中包含本书中使用的截图和图表的彩色图像。可以在这里下载:https://static . packt-cdn . com/downloads/9781801070850 _ color images . pdf

使用的约定

本书通篇使用了许多文本约定。

Code in text:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟网址、用户输入和推特句柄。这里有一个例子:“在financial_df数据框的情况下,索引是在我们使用read_csv函数下载数据集时自动生成的。”

代码块设置如下:

const df = new DataFrame({...})
df.plot("my_div_id").<chart type>

当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:

        
var config = {
            displayModeBar: true,
            modeBarButtonsToAdd: [

任何命令行输入或输出都编写如下:

npm install @tensorflow/tfjs

粗体:表示一个新的术语、一个重要的单词或者你在屏幕上看到的单词。例如,菜单或对话框中的单词出现在粗体中。下面是一个例子:“在微软 Edge 中,打开浏览器窗口右上角的 Edge 菜单,选择 F12 开发者工具

提示或重要注意事项

像这样出现。

取得联系

我们随时欢迎读者的反馈。

一般反馈:如果您对本书的任何方面有疑问,请发邮件至customercare@packtpub.com联系我们,并在邮件主题中提及书名。

勘误表:虽然我们已经尽了最大的努力来保证内容的准确性,但是错误还是会发生。如果你在这本书里发现了一个错误,如果你能向我们报告,我们将不胜感激。请访问www.packtpub.com/support/errata并填写表格。

盗版:如果您在网上遇到任何形式的我们作品的非法拷贝,如果您能提供我们的位置地址或网站名称,我们将不胜感激。请联系我们在copyright@packt.com与材料的链接。

如果你有兴趣成为一名作者:如果有一个你有专长的话题,你有兴趣写或者投稿一本书,请访问authors.packtpub.com

分享你的想法

一旦您阅读了使用 Danfo.js 构建数据驱动的应用,我们很想听听您的想法!请点击此处直接进入本书的亚马逊评论页面,分享你的反馈。

您的评论对我们和技术社区非常重要,将帮助我们确保提供优质内容。