基础数据探索
使用Pandas去熟悉你的数据
在任何机器学习项目的第一步就是熟悉你的而数据。你会使用Pandas库做这些,Pandas是数据科学家探索和操作数据的重要工具。大多数人在他们的代码里把Pandas缩写为 pd
,通过如下命令
In [1]
import pandas as pd
Pandas库最重要部分是 DataFrame
,一个DataFrame保存的数据类型你可以当作是一个表,这有点向你Excel里的表格或SQL数据库里的表。
Pandas有强大丰富的方法能让你处理这种数据时做很多的事儿。
举个例子,咱们先看看澳大利亚墨尔本的房价,再动手练习时,你会用同样的流程去处理新数据,这个新数据是关于爱荷华州的。
示例数据(墨尔本)在这个路径内 ../input/melbourne-housing-snapshot/melb_data.csv
In [2]
# 把路径保存为变量,来更方便的传入值
melbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.csv'
# 读取和保存数据到DataFrame中,给变量命名为 melbourne_data
melbourne_data = pd.read_csv(melbourne_file_path)
# 打印墨尔本数据的数据描述信息
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
开始你的第一次代码练习