基础数据探索

使用Pandas去熟悉你的数据

在任何机器学习项目的第一步就是熟悉你的而数据。你会使用Pandas库做这些,Pandas是数据科学家探索和操作数据的重要工具。大多数人在他们的代码里把Pandas缩写为 pd,通过如下命令

In [1]

  1. import pandas as pd

Pandas库最重要部分是 DataFrame,一个DataFrame保存的数据类型你可以当作是一个表,这有点向你Excel里的表格或SQL数据库里的表。

Pandas有强大丰富的方法能让你处理这种数据时做很多的事儿。

举个例子,咱们先看看澳大利亚墨尔本的房价,再动手练习时,你会用同样的流程去处理新数据,这个新数据是关于爱荷华州的。

示例数据(墨尔本)在这个路径内 ../input/melbourne-housing-snapshot/melb_data.csv

In [2]

  1. # 把路径保存为变量,来更方便的传入值
  2. melbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.csv'
  3. # 读取和保存数据到DataFrame中,给变量命名为 melbourne_data
  4. melbourne_data = pd.read_csv(melbourne_file_path)
  5. # 打印墨尔本数据的数据描述信息
  6. melbourne_data.describe()

Out [2]

Rooms Price Distance Postcode Bedroom2 Bathroom Car Landsize BuildingArea YearBuilt Lattitude Longtitude Propertycount
count 13580.000000 1.358000e+04 13580.000000 13580.000000 13580.000000 13580.000000 13518.000000 13580.000000 7130.000000 8205.000000 13580.000000 13580.000000 13580.000000
mean 2.937997 1.075684e+06 10.137776 3105.301915 2.914728 1.534242 1.610075 558.416127 151.967650 1964.684217 -37.809203 144.995216 7454.417378
std 0.955748 6.393107e+05 5.868725 90.676964 0.965921 0.691712 0.962634 3990.669241 541.014538 37.273762 0.079260 0.103916 4378.581772
min 1.000000 8.500000e+04 0.000000 3000.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1196.000000 -38.182550 144.431810 249.000000
25% 2.000000 6.500000e+05 6.100000 3044.000000 2.000000 1.000000 1.000000 177.000000 93.000000 1940.000000 -37.856822 144.929600 4380.000000
50% 3.000000 9.030000e+05 9.200000 3084.000000 3.000000 1.000000 2.000000 440.000000 126.000000 1970.000000 -37.802355 145.000100 6555.000000
75% 3.000000 1.330000e+06 13.000000 3148.000000 3.000000 2.000000 2.000000 651.000000 174.000000 1999.000000 -37.756400 145.058305 10331.000000
max 10.000000 9.000000e+06 48.100000 3977.000000 20.000000 8.000000 10.000000 433014.000000 44515.000000 2018.000000 -37.408530 145.526350 21650.000000

解释下数据描述

结果中显示了,在你原数据中的每列都有8个数字。第一个数字 count,是指所有行中不是缺失值的数量。

有许多原因会产生 缺失值/Missing value。比如,当你调查一栋只有一间卧室的房屋时不会搜集第二个卧室的大小。让我们回到缺失值的话题上来。

第二个数字 mean,平均数。下面的 std 是标准差/standard deviation,它是数值分布的度量。

要解释 min, 25%, 50%, 75%max 的意思,想象下每列数字按值大小从最小到最大排序。第一个数(也就是最小的数)就是 min。穿过列表的四分之一,你会找到一个数字大于25%的数且小于75%的数,这个就是 25% 值(咱大学统计课上叫“下四分位数”),50%75% 也是相似的规定,当然 max 就是最后一个(最大的)的数。

译者延申:
可以参考 “四分位数” 的百度百科
第一四分位数 (Q1),又称“下四分位数、较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。
第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。
第三四分位数 (Q3),又称“上四分位数、较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。
第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range,IQR)。

Your Turn

开始你的第一次代码练习