Chinese, Simplified subtitles

← Auditing Uniformity - Data Wranging with MongoDB

Get Embed Code
5 Languages

Showing Revision 2 created 09/28/2016 by Udacity Robot.

  1. 好吧 我们来讨论最后一个数据质量指标 即统一性
  2. 我们将查看审核特殊字段统一性
  3. 不知大家是否还记得 统一性是关于字段中
  4. 使用相同测量单位的所有值
  5. 我们来看一个示例
  6. 因此 在这里 我们将再次使用城市数据集
  7. 在这里我想探讨的只是一个字段 即纬度字段
  8. 现在 在本数据集中
  9. 使用此特殊字段名称标识纬度字段
  10. 因此 我们来查看我们在这里可能执行的一些审核任务
  11. 现在我组织该代码的方式是我将
  12. 循环遍历该数据文件中的每一行
  13. 在这里 我们再次使用 Python
  14. 中的 csv 模块
  15. 对于每一行 我们调用该函数 audit_float_field
  16. 因此 这段代码可以
  17. 用来分析任何应该拥有浮点值的字段
  18. 通常 这是我喜欢思考
  19. 审核数据集中字段的方法
  20. 通常 我喜欢思考
  21. 可能出现特定类型数据字段错误的事情
  22. 对该类型进行一些审核
  23. 然后如果我需要 我可以编写更具体的审核程序来检查值
  24. 我们来查看该 audit_float_field 函数
  25. 这是真正执行的部分
  26. 因此 我要做的是
  27. 记录我发现的空值数
  28. 空子串数 如果有的话 和
  29. 实际上是数组的字段值数
  30. 还记得吗 要使用大括号和竖线对数组进行编码
  31. 以便将信息框中的数组每个独立的元素分离开
  32. 我还将进行检查 以确保该值实际上是一个数
  33. 然后 如果是一个数 我将进行检查
  34. 以确保该值在最小值与最大值之间
  35. 可以吗?因此 这是一种确保其使用
  36. 我所期望测量单位的方法
  37. 记不记得我们之前看过一个示例
  38. 其中实际使用的是平方毫米
  39. 而非平方公里来表示城市面积
  40. 因此 我在这段代码中要做的是
  41. 硬编码某些值 用于刚刚的字段
  42. 现在 如果不是作为本课程的示例
  43. 我会把每个值当做
  44. 命令行参数输入到脚本中来
  45. 在这里 我只是对其进行硬编码
  46. 因此 如果我需要将其用于不同字段
  47. 需要改变字段名称 并改变最大和最小值
  48. 以测试不同的浮点值字段
  49. 因此 再次回到我们的 audit_float_field 函数
  50. 我们检查缺失值 空值 数组和任何非数字字段
  51. 在通过所有这些测试后
  52. 来到这一行
  53. 我会得到一个我认为是数字的值
  54. 我要做的是将其转换成浮点值
  55. 因为所有输入值都是字符串
  56. 然后我将检查其范围 现在 维度的范围
  57. 应该被编码在 -90 和 +90 之间
  58. 从技术上讲 这里我应该使用小于或等于
  59. 好 让我们运行本程序 并看看会弹出什么
  60. 可以吗?我发现三个非数字
  61. 你可以看到 这看起来像一个正确的纬度值 只是用不同类型的单位表示
  62. 这是我所期望的城市总数 实际相当多的零值
  63. 好了 在该示例中没有太多我们要做的
  64. 相当多的数组 如果我需要进行全面审核
  65. 我需要查看这些数组 并看看到底发生了什么
  66. 然后 我需要检查这些数组中的每个独立值
  67. 在该示例中 我更关心的是这些内容
  68. 有几种不同的方法表示地理坐标
  69. 这是三个不用经度和纬度原始值的例子
  70. 我们获得这种类型的坐标
  71. 该坐标实际上是 度 分 秒
  72. 因此 这是一种对相同纬度信息的
  73. 不同编码方法
  74. 如果我稍微改变该代码
  75. 我将有机会看到大部分值实际看上去是什么样的
  76. 你可以看到他们都是 -90 和 +90 之间的值
  77. 同样 我们还可以看到一些负值
  78. 把他们注释掉 并再次运行程序
  79. 这些值是怎么回事?可能的解释是
  80. 他们手动使用了不同的坐标系
  81. 这就是为什么我们得到的是这个结果
  82. 而不是我们预期的数字类型的原因
  83. 因此 这是我们审核统一性时可能碰到的事情
  84. 我们有一个字段来存某个特定的数据类型
  85. 在这种情况下 是城市位置的纬度值
  86. 但是 这里使用两个不同的坐标系
  87. 用小数表示的维度
  88. 和用 度 分 秒 表示的纬度
  89. 在完全开放的信息中
  90. 引入这三个值使得数据集变脏
  91. 但是 这可能正是你将会遇到的
  92. 相同类型的值
  93. 使用不同单位表示