使用Pandas根据重复的时间索引切片DataFrame

2024-04-20 05:26:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我按熊猫的周期索引对数据帧进行切片,当 周期指数是唯一的,切片是可以的, 但当周期指标重复时,切片会导致异常:

TypeError:无法将类型“Period”与类型“int”进行比较

以下是我的代码:

import pandas as pd
from pandas import DataFrame
df=DataFrame(data=[1,2,3,4,5],columns=["value"])
#generate unique period index for dataframe
index=pd.PeriodIndex([2001,2002,2003,2004,2005],freq="A")
df.index=index;
df.loc[pd.Period(2002):pd.Period(2004)] #is ok

#generate duplicate period index for dataframe
index=pd.PeriodIndex([2001,2001,2003,2004,2005],freq="A")
df.index=index;
df.loc[pd.Period(2002):pd.Period(2004)]
#TypeError: Cannot compare type 'Period' with type 'int'

Tags: import类型dataframepandasdfforindex切片