用Python數據分析了北京積分落戶名單,發現……

  • 2020 年 2 月 20 日
  • 筆記

以下文章來源於凹凸數據 ,作者MINUS大大

導讀:北京積分落戶制度已經實行兩年了,2018年申報積分落戶的124657名申請人中6019位落戶人員取得落戶資格。

而去年2019年,申報積分落戶人數為106403名,實際公示名單共6007人。

這些人來自哪些公司呢?這些公司都是哪些行業的?他們年齡多大?

作者:董匯標MINUS

來源:凹凸玩數據(ID:alltodata)

原文首發於知乎:

https://zhuanlan.zhihu.com/p/97217536

01 數據分析

我們本次用到的分析工具包有:pandasseabornMatplotlib

落戶數據是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: 你覺得哪座城市落戶最難?

歡迎留言與大家分享