<jupyter_start><jupyter_text>time_differences<jupyter_code># Isolating relevant columns - first and last entry dates
df_entry_dates = df[['תאריך כניסה ראשונית לתוכנית', 'תאריך השמה אחרונה','תאריך דיווח השמה אחרונה']]
# all the rows with df['תאריך השמה אחרונה'] == None also df['תאריך דיווח השמה אחרונה']== None
df.loc[df['תאריך השמה אחרונה'].astype(str)=='NaT','תאריך דיווח השמה אחרונה'].unique()
## calculating the time differnec between first to last entry date
df_entry_dates.loc[:,'days_diff'] = df['תאריך השמה אחרונה'] - df_entry_dates['תאריך כניסה ראשונית לתוכנית']

## converting "delta time" column type to integer
df.loc[:,'days_diff'] = df_entry_dates['days_diff'].dt.days<jupyter_output><empty_output><jupyter_text>Last match score<jupyter_code>df = df.rename(columns = {'ציון התאמה אחרון':'last_match_score'})
df['last_match_score'] = round(df['last_match_score'] /10)<jupyter_output><empty_output><jupyter_text>unemployment_depth_months<jupyter_code>df = df.rename(columns = {'עומק אבטלה בחודשים':'unemployment_depth_months'})
df['unemployment_depth_months'] = round(df['unemployment_depth_months'] /100)<jupyter_output><empty_output><jupyter_text>age<jupyter_code>df = df.rename(columns = {'גיל':'age'})
df.loc[df['age'].between(18, 29) ,'age'] = 1829
df.loc[df['age'].between(30, 39) ,'age'] = 3039
df.loc[df['age'].between(40, 49) ,'age'] = 4049
df.loc[df['age'].between(50, 54) ,'age'] = 5054
df.loc[df['age'].between(55, 120),'age'] = 55120
df['age'] = 'age_' + df['age'].astype(str)<jupyter_output><empty_output><jupyter_text>education<jupyter_code>df = df.rename(columns = {'רמת השכלה':'education'})
df.loc[df['education'].str.contains('יסודי חלקי'),'education'] = 'יסודי'
df.loc[df['education'].str.contains('תעודת הוראה'),'education'] = 'לימודי תעודה'
df.loc[df['education'].str.contains('הנדסאי'),'education'] = 'לימודי תעודה'
df.loc[df['education'].str.contains('טכנאי'),'education'] = 'לימודי תעודה'
df.loc[df['education'].str.contains('תעודת מקצוע'),'education'] = 'לימודי תעודה'<jupyter_output><empty_output><jupyter_text>languages<jupyter_code>df = df.rename(columns = {'שפות':'languages'})
df['languages'] = df['languages'].str.replace('שפת אם','')\
    .str.replace('גבוהה','')\
    .str.replace('בינונית','')\
    .str.replace('בסיסית','')\
    .str.replace('-','')\
    .str.replace('-','')\
    .str.replace(' ','')<jupyter_output><empty_output><jupyter_text>religious<jupyter_code>df = df.rename(columns = {'דת':'religious'})
df.loc[df['religious'].str.contains('נוצרי'),'religious'] = 'נוצרי'
df.loc[df['religious'].str.contains('מוסלמי'),'religious'] = 'מוסלמי'
df.loc[df['religious'].str.contains('ללא דת|נוצרי|מוסלמי|יהודי|דרוזי')==False , 'religious'] = 'other'
print(df['religious'].unique())<jupyter_output>['מוסלמי' 'יהודי' 'נוצרי' 'other' 'דרוזי' 'ללא דת']<jupyter_text>programs<jupyter_code>df = df.rename(columns = {'פעילויות שעבר בתכנית':'programs'})
df_programs = copy.copy(df[['programs']])
programs = df_programs['programs']

programs_list = [  'חיפוש עבודה מונחה'
                    ,'סדנת מכינה השמתית מעגלי תעסוקה'
                    ,'ייעוץ תעסוקתי'
                    ,'סדנת מכינה תהליכית מעגלי תעסוקה'
                    ,'סדנת יישומי מחשב מעגלי תעסוקה'
                    ,'שיחת אימון אישי'
                    ,'ייעוץ פסיכולוגי'
                    ,'סדנת ליווי בקבוצה קטנה'
                    ,'עברית תעסוקתית'
                    ,'זימון למנהל'
                    ,'סדנת מכינה השמתית'
                    ,'סדנת שינוי'
                    ,'סדנת מכינה מחשבים מעגלי תעסוקה'
                    ,'סדנת מכינה מעגלי תעסוקה'
                    ,'יישומי מחשב מעגלי תעסוקה'
                    ,'סדנת השמה פלוס מעגלי תעסוקה'
                    ,'סדנת מכינה תהליכית'
                    ,'סדנת מכינת השמתית מעגלי תעסוקה'
                    ,'סדנת השמה'
                    ,'מכינה תהליכית מעגלי תעסוקה'
                    ,'סדנת תהליך'
                    ,'סדנת מכינה מעורב מעגלי תעסוקה'
                    ,'סדנת השמה מעגלי תעסוקה'
                    ,'סדנת רכבת מעגלי תעסוקה'
                    ,'סדנת תהליך מעגלי תעסוקה'
                    ,'קורס יישומי מחשב'
                    ,'יישומי מחשב מעגלי תעסוקה'
                    ,'קורס יישומי מחשב'
                    ,'סדנת שינוי מעגלי תעסוקה'
                    ,'מכינה השמתית'
                 ,]

l =[]
for i in programs:
    p = ''
    for x in programs_list:
        if x in str(i):
            p = p + x + ','
            
    if p == '':
        p= None 
        
    l.append(p)
            
df_programs['programs'] = l
prog =  df_programs['programs'].str.get_dummies(sep=',')
prog.columns = ['programs_' + str(x).replace('.',' ') for x in prog.columns]
pn = prog.sum(axis=1).to_frame()
pn.columns = ['number_of_programs']
program_summary = pd.concat([prog,pn],axis=1)
l = list(df.columns)
index = l.index('programs')
df = df.rename(columns = {'מגדר':'gender',
                          'ארץ לידה':'origin',
                          'חד הורי':'single_parent',
                          'ילדים עד גיל 18':'childrens',
                          'אחוזי נכות':'disability',
                          'מגבלה רפואית':'medical_limitation',
                          'רשיונות נהיגה':'licenses',
                          'שירות צבאי':'military_service',
                          'תדירות_התייצבות':'frequency_stabilization',
                          '':''})
parameters = [ 
              'gender','age','religious','languages',
              'origin','education','military_service',
              'unemployment_depth_months','last_match_score',
              'medical_limitation','single_parent',
              'childrens','disability','licenses','days_diff',
              'label',]
DF = pd.concat([program_summary,df.loc[:,parameters]],axis = 1)
DF.head()
DF.to_csv('df_for_desicion_tree_xlsx.csv',index=False)
DF = pd.read_csv('df_for_desicion_tree_xlsx.csv')
DF.describe()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.16256323777403037, 'fraction_numerical': 0.008768971332209106, 'mean_word_length': 2.836351875808538, 'pattern_counts': {'":': 0, '<': 32, '<?xml version=': 0, '>': 32, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '8', 'dir': 'jupyter-structured-clean-dedup', 'id': '496848', 'license': 'CECILL-B', 'n_tokens_mistral': 2853, 'n_tokens_neox': 2640, 'n_words': 348, 'path': 'step_5_b_a_prepering_data_for_decision_tree.ipynb', 'repo_name': 'chen890/Final-Research-Project---IES', 'size': '5930'}