Встроенная функция Pandas для уровня ячейки применяется с учетом индекса/столбца?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Встроенная функция Pandas для уровня ячейки применяется с учетом индекса/столбца?

Сообщение Anonymous »

Я очищаю исторические данные для прогнозирования экспоненциального сглаживания. У меня есть данные на уровне округа США (т. е. административной единицы второго уровня), но там много нулевых значений (из-за малого объема), что приводит к проблемам с моделью прогнозирования.
Поскольку данные сильно сезонны, я проверяю данные каждого округа за каждый год. Если данные за конкретный год содержат нули, я заменяю данные округа за этот год скорректированным набором данных, который применяет сезонность на уровне штата к годовому объему на уровне округа.
После долгих испытаний и ошибка, чтобы избежать итерации, которая привела меня к вложенным функциям apply с индексами сброса (например, df.apply(lambda x: x.reset_index().apply(lambda y: [расчет])), в конечном итоге я написал очистку данных, используя итерацию, которая вычисляет сезонность, а затем умножает сезонные данные на фрейм данных, в котором годовой объем хранится в ежемесячных столбцах:

Код: Выделить всё

# Initialize empty seasonality df with the index and column values from the source data
cty_season = pd.DataFrame(index=cty_data.index, columns=cty_data.columns)

# Iterate through the index and columns to populate each value
for idx in cty_season.index:
for col in cty_season.columns:
cty_season.loc[idx,col] = [calculation referring to helper dfs with identical indices and columns]

# Combine seasonality data with sales totals to get revised dataset
cty_adj = cty_season * cty_annual
Есть ли способ сделать это более эффективно или более «пандично» (или что-то в этом роде, эквивалентное Pythonic в Pandas)? Единственное, что приходит на ум, — это разбить столбцы так, чтобы каждый год представлял собой отдельную строку, что могло бы позволить использовать более простой оператор apply, поскольку замена выполняется каждый год.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -awareness
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»