# Built-in modules
import re
# Hand-made modules
from .base import DataFrameHandlerBase

REGEX_DROP_LABEL_NAME_PREFIXES = {
    "max_ws_",
    "ave_wv_",
    "ave_ws_",
    "max_tp_",
    "min_tp_",
    "sl_",
    "sd_",
    "vb_",
    "weather_",
    "dsr_",
    "dsd_",
    "dsr_"
}
DROP_LABEL_NAMES = [
    "weather",
    "weather_detail",
    "wind",
    "wave"
]
REGEX_SHIFT_COL_NAME_PREFIXES = [
    "pr_*",
    "max_iws_*",
    "gsr_*",
    "lap_*",
    "sap_*",
    "cap_*",
    "3h_cap_*",
    "rhm_*",
    "min_rhm_*",
    "vp_*",
    "dtp_*",
]


class TimeSeriesReshaper(DataFrameHandlerBase):
    def __init__(self):
        super().__init__()
        self.REGEX_DROP_LABEL_NAME_PREFIXES = REGEX_DROP_LABEL_NAME_PREFIXES
        self.DROP_LABEL_NAMES = DROP_LABEL_NAMES
        self.REGEX_SHIFT_COL_NAME_PREFIXES = REGEX_SHIFT_COL_NAME_PREFIXES

    @staticmethod
    def shift_indexes(df, freq, shift_col_name_list):
        non_shift_col_name_list = [
            col_name for col_name in df.columns \
            if col_name not in shift_col_name_list
        ]

        df_shifted = df[shift_col_name_list].shift(freq=freq, axis=0)
        df_non_shifted = df[non_shift_col_name_list]

        return df_non_shifted.merge(
            df_shifted,
            how="outer",
            left_index=True,
            right_index=True
        )

    @staticmethod
    def get_regex_matched_col_name(col_name_list, regex_name_prefix_list):
        return [
            col_name \
            for col_name in col_name_list \
            for name_prefix in regex_name_prefix_list \
            if re.compile("^" + name_prefix + ".*$").match(col_name)
        ]

    @staticmethod
    def drop_columns_of_many_nan(df, nan_number_threshold):
        reserve_column_list = [
            v < nan_number_threshold for v in df.isnull().sum(axis=0)
        ]

        return df.loc[:, reserve_column_list]


if __name__ == '__main__':
    print("time series !")

@@ -852,34 +852,16 @@
 EFIXES%0A%0A
-    @staticmethod%0A
     def 
@@ -874,16 +874,22 @@
 indexes(
+self, 
 df, freq
@@ -1224,124 +1224,45 @@
 rge(
-%0A            df_shifted,%0A            how=%22outer%22,%0A            left_index=True,%0A            right_index=True%0A        
+df_shifted, **self.KWARGS_OUTER_MERGE
 )%0A%0A 

Fix arguments