1. 程式人生 > >Python資料分析實戰-Boston Public Schools GEO資料分析-Part1

Python資料分析實戰-Boston Public Schools GEO資料分析-Part1

     由於從事人工智慧的工作,接下來打算分享一系列的以案例形式的人工智慧、

    資料分析的部落格文章。歡迎大家持續關注。本次我來分享一個數據分析的案例

  

專案目標:

      

      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() 

 

 

   可以看到,資料沒有缺失值

 

   

1 X False

 2 Y False

 3 OBJECTID_1 False

 4 OBJECTID False

 5 BLDG_ID False

 6 BLDG_NAME False

 7 ADDRESS False

 8 CITY False

 9 ZIPCODE False

10 CSP_SCH_ID False

11 SCH_ID False

12 SCH_NAME False

13 SCH_LABEL False

14 SCH_TYPE False

15 SHARED False

16 COMPLEX False

17 Label False

18 TLT False

19 PL False

20 POINT_X False

21 POINT_Y False

22 dtype: bool

 

 

    接下來,Count frequency of schools in each city

    

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


 

    

 

       可以看到不同地區的公立學校不同數量,Boston接近15所。

 

      按照ZIPCode統計學校情況 : 其中sns 為seaborn包

     

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

 

 


 

 

     可以看到隨著zipcode的變化,學校數量也是發生變化的。

     未完待續~  歡迎大家關注我的公眾號,“思享會Club”,獲取該內容資源。歡迎大家訪問http://gkhelp.cn 獲取更多專案。個人公眾號圖片如下: