用Python數據分析了北京積分落戶名單,發現……
- 2020 年 2 月 20 日
- 筆記
以下文章來源於凹凸數據 ,作者MINUS大大
導讀:北京積分落戶制度已經實行兩年了,2018年申報積分落戶的124657名申請人中6019位落戶人員取得落戶資格。
而去年2019年,申報積分落戶人數為106403名,實際公示名單共6007人。
這些人來自哪些公司呢?這些公司都是哪些行業的?他們年齡多大?
作者:董匯標MINUS
來源:凹凸玩數據(ID:alltodata)
原文首發於知乎:
https://zhuanlan.zhihu.com/p/97217536
01 數據分析
我們本次用到的分析工具包有:pandas、seaborn和Matplotlib。
落戶數據是csv文檔(文末可下載),內部記錄了6019條落戶信息。
所以先利用pandas讀取數據csv文檔,並看看有哪些列,可以看到這個表有4列構成,人名、生日、公司、積分。
luohu_data = pd.read_csv('./bj_luohu.csv', index_col = 'id') luohu_data.head(5)
此時有一個疑問這些人來自哪些公司呢?公司有沒有重複的? 這些公司都是哪些行業的?
所以按照公司分組查看一下:
company_data = luohu_data.groupby('company', as_index=False).count()[['company', 'name']] company_data.rename(columns={'name':'人數'}, inplace=True) # 替換 1 company_data.rename(columns={'company':'公司名'},inplace=True) # 替換 2 company_data.head(20)
這麼直接看的話人數沒有順序的,所以我們再對人數進行降序排列,看看落戶最多的哪幾家!
company_sorted_data = company_data.sort_values('人數', ascending=False) company_sorted_data.head(15) # 前15
emmmm。。。滿眼科技公司,華為、百度、聯想、愛立信、騰訊均在前15名,其次是一些國企央之類的。
02 數據可視化
積分數socre是連續數值,因此這裡進行分段分析,經過describe初步了解,得分最小90,最大122.6 所以這麼劃分:90-130分,5分一段
cut_bins = np.arange(90, 130, 5) #分段設置 bins = pd.cut(luohu_data['score'], cut_bins) # 將落戶數據,按照cutbins來切一下 bin_counts = luohu_data['score'].groupby(bins).count() bin_counts.head(10)
直接出來的話是數據,那麼我在直接畫個圖更直觀的看一下
plt.figure(figsize=(15,8)) plt.rcParams['font.family']='Arial Unicode MS' plt.rcParams['axes.unicode_minus']=False plt.rcParams['font.size']=12 x_name=['90-95','95-100','100-105','105-110','110-115','115-120','120-125'] sns.barplot(x_name,bin_counts) plt.ylabel('人數') plt.xlabel('分數區間') for x, y in zip(range(7), bin_counts): plt.text(x, y+20 , y, ha='center', va='bottom') plt.show()
可以看到,落戶人數主要集中在90-100分之間,合計5101人,如果想落戶,達到95分就沒什麼問題了。
那麼現在又有個問題,比如達到90分以上我都60了也沒啥意義了,那麼這些落戶的主要集中在什麼年齡段呢?年齡與積分有相關性嗎?來看看。
首先需要根據生日算一下落戶年齡:
luohu_data['age'] = (pd.to_datetime('2018-07') - pd.to_datetime(luohu_data['birthday'])) / pd.Timedelta('365 days') luohu_data.describe()
mean=luohu_data['age'].mean() std =luohu_data['age'].std() # 得到上下限 lower , upper =mean -3*std , mean+3*std print('均值',mean) print('標準差',std) print('下限',lower) print('上限',upper)
得到:
作圖看一下分佈:
#fig.set_size_inches(15,5) # 設置畫布大小 sns.distplot(luohu_data['age'])
可以看到,最小的年齡也32歲了最大年齡60歲,75%分位數在43歲左右。年齡均值42歲。
03 總結
根據本篇簡單的數據分析我們發現:
通過積分獲得北京戶口的年齡段集中在35歲到46歲之間,主要為42±2歲之間;積分集中在90分左右,行業集中在IT和國企央企及金融行業。
據有關媒體統計,在北京當前的積分落戶政策下,本科生需要15左右年才能拿到100分,研究生也需要12年以上才能拿到100分。
大家想一下:雖然現在100分可以落戶,但12/15年後跟你同批的畢業生就全都100分了……
而其他城市的落戶政策是上海七年,深圳一年,北京落戶還真是真是不容易啊。
相關分析源碼和北京積分落戶數據已上傳github:
https://github.com/zpw1995/aotodata/tree/master/bj_luohu
有話要說?
Q: 你覺得哪座城市落戶最難?
歡迎留言與大家分享