# 第九堂課 ****加分作業**** # 研究題目:台灣人民所得分佈之研究 * 研究背景:人民收入分佈一直是國家經濟上的重要課題。 傳統上,經濟學家常用羅倫茲曲線來呈現整體的人民收入的分佈情形。 * 研究問題:本研究希望探討我國國民收入的羅倫茲曲線。 * 資料來源: 我們從政府公開資料庫,取得全國國民的收入資料。(說明清楚你是怎麼收集到資料的,例如,我們小組建立google表單,請30位同學上網填答) * 資料欄位的意義: 原始資料呈現如下。在資料表各欄位的意義如下, ID:身份證字號 _id:程式字型產生的唯一碼 Income:收入,單位為新台幣。 Distribution:所參考的統計分佈。 * 資料清理: 我們檢查資料,發現資料內有下列問題。 A097730的收入為空值 A097730的收入異常大,有問題 _id欄位沒有用到,要刪除 --- # 讀取雲端硬碟中的excel檔 from google.colab import drive drive.mount('/content/drive') import pandas as pd import numpy as np import matplotlib.pyplot as plt import os dfIncome = pd.read_excel('/content/drive/My Drive/___DataSet/001_Income_F.xlsx') #dfIncome = pd.read_excel('/content/drive/My Drive/___DataSet/001_Income_test.xlsx') dfIncome  --- # 將總收入與人數繪製成「直方圖」 https://www.w3schools.com/python/pandas/ref_df_count.asp * 總收入與人數 sum=dfIncome['Income'].sum() n=dfIncome['Income'].count() print(f'總和={sum}, 樣本數={n}') * 直方圖 plt.hist(dfIncome['Income'], bins=range(0, 100000, 1000)) plt.show()  --- # 根據資料繪製羅倫茲曲線(Lorenz curve) dfLorenz=dfIncome[:] se=dfLorenz['Income'].sort_values() cumulativeSum=0 i=0 * 宣告xx為串列變數 xx=[] * 宣告yy為串列變數 yy=[] * 手動追蹤 for x in se: i=i+1 cumulativeSum+=x xx.append(i/n) yy.append(cumulativeSum/sum) plt.plot([0,1], linestyle = 'dotted') * 散佈圖 plt.scatter(x=xx,y=yy,s=0.1) plt.axis('square') plt.xlim(0,1) plt.ylim(0,1) print('羅倫茲曲線(Lorenz curve)') plt.show()  --- # 吉尼係數(Gini Coeffient) # 會議記錄 ------------------------ * 4/23 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up