Эффективный способ вычисления средних значений из 60 различных фреймов данных?

#pandas

#pandas

Вопрос:

Проблема:
Вычисление среднего значения из 60 фреймов данных занимает более 2 часов для вычисления среднего значения, тогда как большая часть времени уходит на создание фрейма данных (1 день = 1 копия bhav).

Мой подход:
Я подошел к вычислению средних значений за 3 месяца данных bhavcopy, создав 60 фреймов данных, где вычисляется среднее значение close.

Код:

 t_3month = (
    float(
        previous_loc['no_trades']
        .to_string(index=False)
        .replace('Series([], )', '1'))
      float(
        day3_loc['no_trades']
        .to_string(index=False)
        .replace('Series([], )', '1'))
      float(
        day4_loc['no_trades']
        .to_string(index=False)
        .replace('Series([], )', '1'))
    #
    # repeat adding float
    # from dataframes day5_loc to day67_loc
    #
      float(
        day68_loc['no_trades']
        .to_string(index=False)
        .replace('Series([], )', '1'))
      float(
        day69_loc['no_trades']
        .to_string(index=False)
        .replace('Series([], )', '1'))
    ) / 68
  

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

Ответ №1:

Вы можете попробовать вместо того, чтобы пытаться вычислить среднее значение для одного огромного фрейма данных, вы можете вычислить сумму и количество переменных для суммирования для каждого фрейма данных, а затем суммировать их и вычислять напрямую, используя sum и count.

Если вы не создаете ничего нового, это должно сократить время выполнения.