Я работаю с данными временных рядов и пытаюсь квалифицировать операции по различным временным рядам на основе исходной частоты дискретизации (или других соответствующих метаданных) этого временного ряда. Я могу успешно установить метаданные следующим образом:Потерянные метаданные на столбцах Pandas
a_df._metadata = ["orig_freq"]
a_df["a_col"].orig_freq = "D"
Это кажется успешным. Теперь я хочу, чтобы применить функции, основанные на критериях метаданных:
for i in a_df.columns:
if a_df[i].orig_freq == "D":
a_df[i + "_a_new_col"] = a_function(a_df[i])
else:
a_df[i + "_a_new_col"] = a_function_2(a_df[i])
Это работает для первого столбца в dataframe, но после того, как успешно работает на этой колонке, я получаю следующее сообщение об ошибке:
AttributeError: 'Series' object has no attribute 'orig_freq'
В этот момент, все назначенные метаданные были удалены. Я что-то делаю неправильно в назначении метаданных?
не должно быть 'i.orig_freq'? – Ashalynd
Метаданные должны быть конкретными для каждого столбца, который представляет собой отдельный временной ряд. Весь блок данных был стандартизован на единую частоту дискретизации, но я хочу сохранить информацию об отдельной исходной частоте дискретизации для каждого включенного столбца. Благодаря! –