умножение всех комбинаций столбцов

В документации JQuery, .get() принимает только параметры url, data (контент), dataType и success в качестве своих параметров. То, что вы действительно хотите сделать, это изменить объект jqXHR до его отправки. С помощью .ajax() это делается с помощью метода beforeSend(). Но так как .get() является ярлыком, он не позволяет его.

. Следует, однако, относительно легко переключать вызовы .ajax() на .get(). В конце концов, .get() является всего лишь подмножеством .ajax(), поэтому вы можете использовать все значения по умолчанию для .ajax() (за исключением, конечно, для beforeSend()).

Редактировать:

:: Смотрит на ответ Jivings ::

О да, забыл о параметре cache! Хотя beforeSend() полезна для добавления других заголовков, встроенный параметр cache здесь намного проще.

0
задан Jarrod Roberson 19 March 2019 в 19:00
поделиться

1 ответ

Сочетая индексное представление и array.prod(axis), это работает в ~ 100 раз быстрее:

def f1():
    #with loop
    new_df = pd.DataFrame()
    for p in combinations_with_replacement(df.columns,2):
            title = p
            new_df[title] = df[p[0]]*df[p[1]]
    return new_df

def f2():
    n = len(df.columns)
    ix = np.indices((n,n))[:, ~np.tri(n, k=-1, dtype=bool)]
    return pd.DataFrame(df.values.T[ix.T].prod(1).T, columns=list(map(tuple, ix.T)))
0
ответ дан Mstaino 19 March 2019 в 19:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: