有两个时间序列如:
import pandas
from numpy import nan
# 1-minute period
index = pandas.date_range('1/1/2010', periods=8, freq='T')
series1 = pandas.Series([1., nan, nan, nan, nan, 2., nan, nan], index=index)
# 5-minutes period
index = pandas.date_range('1/1/2010', periods=2, freq='5T')
series5 = pandas.Series([1., 2.], index=index)
其中一个基于1分钟,另一个基于5分钟。它们在相同的时间戳上具有相同的值(不包括nan
)。
我不想保留nan
值,所以我放弃它们。但是,删除它们也会丢弃DatetimeIndex
:
series1 = series1.dropna()
print(series1.index.freq)
现在,我真的希望能够区分这两个系列:相同的时间戳,相同的值,但源自不同的基频。
为了做到这一点,我手动设置了频率":
from pandas.tseries.frequencies import to_offset
series.index.freq = to_offset('T')
问题(S):
答案 0 :(得分:0)
简而言之:在我所知道的系列中,没有好的方法来跟踪这些信息。 以下是一些替代方案:
您可以将自己的属性添加到系列中。请注意,复制Series或将其添加到DataFrame
时将无法保留这些内容series1._myfreq = 'T'
series5._myfreq = '5T'
与属性相同的警告
series1.index.name = 'T'
series5.index.name = '5T'
Series
通过选择适当的变量名称,您可以区分它们,或者您可以将系列保持在dict
中,freq
作为字典的其他项目之一