def get_use_columns(n_clicks, drop_columns, *args): global use_df global processed_df global cat_cols global num_cols if n_clicks == 0: return html.H5('') elif target_column is None: return html.H5('先に目的変数を指定してください。') elif drop_columns is None or drop_columns == []: use_df = df.copy() processed_df = use_df.copy() c, n = utils.get_cat_num_columns(use_df, target_column) cat_cols = c num_cols = n return html.H5('全てのカラムを使用します') elif target_column in list(drop_columns): return html.H5( 'Error: {}は目的変数に指定されているため、選択できません。'.format(target_column)) else: use_df = df.copy() use_df.drop(drop_columns, axis=1, inplace=True) processed_df = use_df.copy() c, n = utils.get_cat_num_columns(use_df, target_column) cat_cols = c num_cols = n return html.H5('使用しないカラム:{}'.format(list(drop_columns)))
def draw_target_distribution(n_clicks, input, *args): if input is None or input == '': return html.H5('カラムが選択されていません') else: global target_column global use_df global processed_df global cat_cols global num_cols target_column = input use_df = df.copy() processed_df = df.copy() c, n = utils.get_cat_num_columns(use_df, target_column) cat_cols = c num_cols = n value_count_df = df[target_column].value_counts() fig = go.Figure( data=[go.Bar(x=value_count_df.index, y=value_count_df.values)], layout_title_text="目的変数({})の分布".format(target_column)) return [ dcc.Graph(figure=fig, style={ 'background': '#AEFFBD', 'textAlign': 'center', 'padding': '20px' }), html.Br() ]
def get_use_columns(n_clicks, drop_columns, *args): if target_column is None: return html.H5('先に目的変数を指定してください。') else: global use_df, cat_cols, num_cols use_df = df.copy() if drop_columns is None or drop_columns == []: return html.H5('全てのカラムを使用します') else: use_df.drop(drop_columns, axis=1, inplace=True) return html.H5('使用しないカラム:{}'.format(list(drop_columns))) cat_cols, num_cols = utils.get_cat_num_columns(use_df, target_column)