【发布时间】:2015-11-23 15:51:06
【问题描述】:
我正在处理时间序列数据,并试图根据该时间序列的原始采样频率(或其他相关元数据)对各种时间序列的操作进行限定。我可以通过以下方式成功设置元数据:
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])
这适用于数据框中的第一列,但在成功操作该列后,我收到以下错误:
AttributeError: 'Series' object has no attribute 'orig_freq'
此时,所有分配的元数据都已删除。我在元数据分配中做错了吗?
【问题讨论】:
-
不应该是
i.orig_freq吗? -
元数据应该特定于每一列,代表一个不同的时间序列。整个数据框已标准化为单个采样频率,但我想保留每个包含列的单个原始采样频率的信息。谢谢!
标签: python pandas metadata time-series