Как улучшить навыки программирования?

Итак, я иногда кодирую, но мне всегда наскучивает мой код, и я чувствовал, что мне не хватает навыков Python, и я вижу какой-то фрагмент кода, когда я его закончил. Ниже приведен фрагмент, который я сделал сегодня, и я хочу поделиться с вами некоторыми советами о том, как я могу улучшить это и, следовательно, свои навыки Python.

Идея ниже состоит в том, чтобы выполнить регрессию по столбцу и создать три новых столбца с прогнозом на следующие 30, 60 и 90 дней. Код работает нормально и делает то, что я ожидаю, но меня это не устраивает.

Набор данных выглядит примерно так:

f0f1f2f3f4f5f6f7f8f9f10f11
AA164800894404076002021-01-2100407600
AA1802 г.3619689808944090380451762021-03-16252252703049
BB1868 г.003351538776002021-01-2100877600
BB1872 г.112758427623351532608601555202021-03-160000
CC1868 г.0042077428232002021-01-21002823200
CC1872 г.3607871069214207747621044677082021-03-16187663902022668
DD1868 г.00861733100002021-01-2100310000
DD1872 г.2816336288617366600317912021-03-160000
 df['prev30'] = np.int(0)
    df['prev60'] = np.int(0)
    df['prev90'] = np.int(0)
    
    for f0 in df['f0'].unique():
    
        dataset = df[df['f0'] == f0]
        y = dataset.iloc[:, 2:3].values
        X = dataset.iloc[:, 0:1].values
    
        X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 1/4, random_state = 0)
        regressor = LinearRegression()
        regressor.fit(X_train, y_train)
    
        max_data = dataset['f1'].max()
        array = [30,60,90]
    
        for i in array:
            if i == 30:
                prev = "prev30"
            elif i == 60:
                prev = "prev60"
            else:
                prev = "prev90"
    
            new_X = np.array([[max_data + i]])
            predic = int(regressor.predict(new_X))
            dataset[prev] = predic
    
        print(dataset[dataset["f0"] == f0])

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *