项目目标:

Boston Public Schools Geo数据是来自于Boston地区的公共学校的数据,具体描述了学校的坐标,名字,类型等。基于此数据,我们可以学习一些基本的Python数据分析的方法。例如,研究学校的分布情况,类型统计等。

数据集介绍:

数据集的介绍如下,其中比较重要的字段有X,Y坐标,ADDRESS地址,ZIPCODE,School类型

Data columns (total 21 columns):
X 131 non-null float64
Y 131 non-null float64
OBJECTID_1 131 non-null int64
OBJECTID 131 non-null int64
BLDG_ID 131 non-null int64
BLDG_NAME 131 non-null object
ADDRESS 131 non-null object
CITY 131 non-null object
ZIPCODE 131 non-null int64
CSP_SCH_ID 131 non-null int64
SCH_ID 131 non-null int64
SCH_NAME 131 non-null object
SCH_LABEL 131 non-null object
SCH_TYPE 131 non-null object
SHARED 131 non-null object
COMPLEX 131 non-null object
Label 131 non-null int64
TLT 131 non-null int64
PL 131 non-null object
POINT_X 131 non-null float64
POINT_Y 131 non-null float64

关键代码实现:

  1. 加载数据

    schools = pd.read_csv('../input/Public_Schools.csv')
    schools.info()

    可以看到数据字段如下,一共有21个字段,其中有9个Object类型,4个float64, 8个int64

    <class 'pandas.core.frame.DataFrame'>
    RangeIndex: 131 entries, 0 to 130
    Data columns (total 21 columns):
    X 131 non-null float64
    Y 131 non-null float64
    OBJECTID_1 131 non-null int64
    OBJECTID 131 non-null int64
    BLDG_ID 131 non-null int64
    BLDG_NAME 131 non-null object
    ADDRESS 131 non-null object
    CITY 131 non-null object
    ZIPCODE 131 non-null int64
    CSP_SCH_ID 131 non-null int64
    SCH_ID 131 non-null int64
    SCH_NAME 131 non-null object
    SCH_LABEL 131 non-null object
    SCH_TYPE 131 non-null object
    SHARED 131 non-null object
    COMPLEX 131 non-null object
    Label 131 non-null int64
    TLT 131 non-null int64
    PL 131 non-null object
    POINT_X 131 non-null float64
    POINT_Y 131 non-null float64
    dtypes: float64(4), int64(8), object(9)
    memory usage: 21.6+ KB


    2.接下来,探索数据的缺失值

    schools.isnull().any() 

    可以看到,数据没有缺失值

     X False
    Y False
    OBJECTID_1 False
    OBJECTID False
    BLDG_ID False
    BLDG_NAME False
    ADDRESS False
    CITY False
    ZIPCODE False
    CSP_SCH_ID False
    SCH_ID False
    SCH_NAME False
    SCH_LABEL False
    SCH_TYPE False
    SHARED False
    COMPLEX False
    Label False
    TLT False
    PL False
    POINT_X False
    POINT_Y False
    dtype: bool
  2. 接下来,Count frequency of schools in each city

     schools_per_city = schools['CITY'].value_counts()
    sns.set()
    plt.rcParams['figure.figsize'] = [20, 7]
    sns.barplot(x=schools_per_city.index, y=schools_per_city.get_values())

    Python数据分析实战-Boston Public Schools GEO数据分析-Part1-LMLPHP

可以看到不同地区的公立学校不同数量

  1. 按照ZIPCode统计学校情况

     school_zipcode = schools['ZIPCODE'].value_counts() sns.set() 
    2 sns.barplot(x=school_zipcode.index, y=school_zipcode.get_values())

    Python数据分析实战-Boston Public Schools GEO数据分析-Part1-LMLPHP

未完待续~  欢迎大家关注我的公众号,“思享会Club”,获取该内容资源。

05-11 23:03