Как эффективно создать фрейм данных, суммирующий ключевую статистику, найденную в 2 pandas фреймах данных с одинаковыми размерами - PullRequest
0 голосов
/ 14 июля 2020

В настоящее время у меня есть 2 pandas фреймов данных, состоящих из 500 000 путей моделирования (от 1 до 500 000), каждый с 30 временными шагами (от 0 до 29). Теперь на каждом временном шаге у меня есть цена в первом фрейме данных и значение дельты в другом фрейме данных. Поэтому у меня есть и цена, и дельта-значение для каждых 30 временных шагов для 500 000 симуляций. Существует ли эффективный с вычислительной точки зрения способ создать фрейм данных, содержащий 30 * 500 000 наблюдений, с указанием цены, временного шага и значения дельты для каждого наблюдения (здесь наблюдение означает каждую отдельную точку на каждом пути моделирования). Я знаю, что для этого должен быть более эффективный с вычислительной точки зрения метод, но я не очень разбираюсь в python. Вот код, который я пытался реализовать до сих пор:

priceDeltaDataFrame = pd.DataFrame([], columns = ['price', 'time', 'delta'])
for i in range(1, 500000 + 1,1):
    for j in range(0,30):
        temp = pd.DataFrame([[futuresPriceDataFrame.iloc[j][i], j, deltasDataFrame.iloc[j][i]]], columns = ['price', 'time', 'delta'])
        priceDeltaDataFrame.append(temp)
    if (i % 100 == 0):
        print(i)

Но по опыту я знаю, что вложенные циклы неэффективны и что должен быть лучший способ продолжить. Любая помощь приветствуется.

...