Есть ли способ оптимизировать этот код, чтобы он работал быстрее? - PullRequest
0 голосов
/ 11 июля 2019

Привет! Я работаю в приложении и использую этот фрагмент кода для создания новых столбцов во фрейме данных, чтобы я мог сделать некоторые вычисления, однако это очень медленно, и я хотел бы попробовать новый подход.

Я читал о многопроцессорности, но я не уверен, как и где его использовать, поэтому прошу вашей помощи.

def create_exposed_columns(df):
    df['MONTH_INITIAL_DATE'] = df['INITIAL_DATE'].dt.to_period(
        'M')
    df['MONTH_FINAL_DATE'] = df['FINAL_DATE'].dt.to_period(
        'M')
    df['Diff'] = df['MONTH_FINAL_DATE'] - df['MONTH_INITIAL_DATE']
    list_1 = []
    for index, row in df.iterrows():
        valor = 1
        initial_date = row['INITIAL_DATE']
        diff = row['Diff']
        temporal_list = {}
        list_1.append(temporal_list)
        for i in range(meses_iterables + 1):
            date = initial_date + relativedelta(months=+1 * i)
            if len(str(date.month)) == 1:
                value = {str(date.year) + '-0' + str(date.month): valor}
                temporal_list.update(value)
            else:
                value = {str(date.year) + '-' + str(date.month): valor}
                temporal_list.update(value)

    df_2 = pd.DataFrame(list_1)

    df = df.reset_index()
    df = pd.concat([df, df_2], axis=1)
    return df

Понятия не имею, с чего начать, поэтому любая помощь будет полезна.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...