Аугментация таблицы

Сделал метод для аугментации таблицы на основе имеющихся в ней данных. Предполагается, что таблица без пропусков. На вход метод принимает датафрейм и число - количство строк, которые хотим добавить к имеющей таблице.

def augmentation_method(data, rows_wanted):
    aug_data = data.copy()
    for k in np.arange(rows_wanted):
        for row in np.arange(aug_data.shape[1]):
            aug_data.loc[aug_data.shape[0]+np.arange(rows_wanted)[k]] = np.array([aug_data.iloc[list(np.random.randint(0, aug_data.shape[0], 1))[0], row] for i in np.arange(aug_data.shape[1])])  # adding a row
    aug_data.index = aug_data.index + 1 #  shifting index
    aug_data = aug_data.sort_index()  # sorting by index
    return aug_data

Вопрос: почему добавляется какое-то надекватное количество строк? И еще: как избежать перемешивания столбцов: т.е. я хочу, чтобы бралось случайное значение в новуб строку из имеющегося столбца для каждого столбца, что, как я думал, задал в цикле по переменной row.

Вот таблицы, использованные в примере: https://github.com/catauggie/materials_classification/blob/master/stand_data.xlsx, https://github.com/catauggie/materials_classification/blob/master/skip_data.xlsx

введите сюда описание изображения перемешивание


Ответы (0 шт):