使用 NumPy 分析我的日常习惯(睡眠、屏幕时间和情绪)

我可以使用 NumPy 弄清楚我的习惯如何影响我的情绪和生产力吗?使用 NumPy 分析我的日常习惯(睡眠、屏幕时间和情绪)的帖子首先出现在 Towards Data Science 上。

来源:走向数据科学

一个小型 NumPy 项目系列,我尝试使用 NumPy 实际构建一些东西,而不是仅仅浏览随机函数和文档。我一直认为最好的学习方式就是实践,所以在这个项目中,我想创造一些既实用又个性化的东西。

构建一些东西

这个想法很简单:分析我的日常习惯 — 睡眠、学习时间、屏幕时间、锻炼和情绪 — ,看看它们如何影响我的工作效率和总体幸福感。数据不真实;这是虚构的,模拟了 30 天。但目标不是数据的准确性,而是学习如何有意义地使用 NumPy。

那么让我们一步一步地完成这个过程。

第 1 步 — 加载和理解数据

我首先创建一个简单的 NumPy 数组,其中包含 30 行(每天一行)和六列 ——每列代表不同的习惯指标。然后我将其保存为 .npy 文件,以便稍后轻松加载。

.npy
# TODO:导入 NumPy 并加载 .npy 数据文件import numpy as npdata = np.load(‘activity_data.npy’)

加载后,我想确认一切看起来都符合预期。因此,我检查了形状(以了解有多少行和列)和维度数(以确认它是 2D 表,而不是 1D 列表)。

形状 维度数
# TODO: 打印数组形状、前几行等.data.shapedata.ndim

输出:30 行、6 列,ndim=2

我还打印了前几行,只是为了直观地确认每个值看起来都很好  - 例如,睡眠时间不是负值或者情绪值在合理的范围内。

# TODO:前 5 行数据[:5]

输出:

array([[ 1. , 6.5, 5. , 4.2, 20. , 6. ],[ 2. , 7.2, 6. , 3.1, 35. , 7. ],[ 3. , 5.8, 4. , 5.5, 0. , 5. ],[ 4. , 8. , 7., 2.5, 30., 8.],[ 5., 6., 5., 4.8, 10., 6.]])

步骤 2 — 验证数据

在进行任何分析之前,我想确保数据有意义。这是我们在处理虚构数据时经常跳过的事情,但这仍然是一个很好的做法。

所以我检查了:

  • 无负睡眠时间
  • split()