振り分け関数とPandasへの適用サンプル

産業中分類番号から産業大分類番号に振り分ける関数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
def func_ind_furiwake(x):
    if  x <= 2:
        return 1
    elif x >= 3 and x <=4 :
        return 2
    elif x >= 5 and x <=5 :
        return 3
    elif x >= 6 and x <=8 :
        return 4
    elif x >= 6 and x <=8 :
        return 4
    elif x >= 9 and x <=32 :
        return 5
    elif x >= 33 and x <=36 :
        return 6
    elif x >= 37 and x <=41 :
        return 7
    elif x >= 42 and x <=49 :
        return 8
    elif x >= 50 and x <=61 :
        return 9
    elif x >= 62 and x <=67 :
        return 10
    elif x >= 68 and x <=70 :
        return 11
    elif x >= 71 and x <=74 :
        return 12
    elif x >= 75 and x <=77 :
        return 13
    elif x >= 78 and x <=80 :
        return 14
    elif x >= 81 and x <=82 :
        return 15
    elif x >= 83 and x <=85 :
        return 16
    elif x >= 86 and x <=87 :
        return 17
    elif x >= 88 and x <=96 :
        return 18
    elif x >= 97 and x <=98 :
        return 19
    elif x >= 99 and x <=99 :
        return 20

関数の適用

1
df['産業大分類コード']=df['産業中分類コード'].apply(func_ind_furiwake)

産業大分類番号から産業大分類名を割り当てる関数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
def func_ind_name_furiwake(x):
    if  x == 1 :
        return '農業_林業'
    elif x == 2 :
        return '漁業'
    elif x == 3 :
        return '砿業_採石業_砂利採取業'
    elif x == 4 :
        return '建設業'
    elif x == 5 :
        return '製造業'
    elif x == 6 :
        return '電気・ガス・熱供給・水道業'
    elif x == 7 :
        return '情報通信業'
    elif x == 8 :
        return '運輸業_郵便業'
    elif x == 9 :
        return '卸売業・小売業'
    elif x == 10 :
        return '金融業・保険業'
    elif x == 11 :
        return '不動産業_物品賃貸業'
    elif x == 12 :
        return '学術研究_専門・技術サービス業'
    elif x == 13 :
        return '宿泊業_飲食サービス業'
    elif x == 14 :
        return '生活関連サービス業_娯楽業'
    elif x == 15 :
        return '教育_学習支援業'
    elif x == 16 :
        return '医療_福祉'
    elif x == 17 :
        return '複合サービス事業'
    elif x == 18 :
        return 'サービス業(他に分類されないもの)'
    elif x == 19 :
        return '官公庁'
    elif x == 20 :
        return '分類不能の産業'

関数の適用

1
df['産業大分類名']=df['産業大分類コード'].apply(func_ind_name_furiwake)