Python中,熊猫:布尔索引DateTimeIndex以期
问题描述:
比较让我们考虑一个包含每2010年1月的一个月中每天1列2个值的数据帧:Python中,熊猫:布尔索引DateTimeIndex以期
date_range = pd.date_range(dt(2010,1,1), dt(2010,1,31), freq='1D')
df = pd.DataFrame(data = np.random.rand(len(date_range),2), index = date_range)
我想使用期限Period('2009-12-28/2010-01-03', 'W-SUN')
到创建一个布尔型索引器,该索引器将返回仅包含该期间的DataFrame。我如何创建这样的布尔索引器? - 理想情况下不需要将时间段转换为日期时间范围。
答
让查询pd.Period
对象是:
query = pd.Period('2009-12-28/2010-01-03', 'W-SUN')
您可以通过以下方式直接做到这一点通过访问它的start_time
和end_time
属性:
1)使用DF.truncate
:
df.truncate(query.start_time, query.end_time)
2)使用布尔指数器:
df[(df.index >= query.start_time) & (df.index <= query.end_time)]
3)使用日期时间索引在默认情况下包括端点:
df[query.start_time:query.end_time]
所有这些生产上期
文档是一盏小灯/永久居民更新随时欢迎 – Jeff