如何在带strftime格式化日期索引的时序DataFrame中定位数据?
正确的索引定位方法
你出错的核心原因是用错了索引工具:iloc是基于整数位置的索引,只能传入行号(比如0、[1,3]这类整数),不能直接用字符串标签。针对你的字符串索引需求,用下面几种方法:
用
loc做标签索引(最推荐,专门对应标签定位)
单行取值:df_3.loc['Friday 00:05']多行取值(传入标签列表):
df_3.loc[['Friday 00:05', 'Monday 09:00']]直接用索引运算符
[]
单行返回Series:df_3['Friday 00:05']保持DataFrame格式返回:
df_3[['Friday 00:05']]先确认标签是否存在
如果还是找不到数据,先检查目标字符串是不是真的在索引里:print('Friday 00:05' in df_3.index)返回
False的话,说明分组后的索引里没有这个标签,要核对%A %H:%M的格式是否和预期一致,或者原数据里有没有对应时间点的数据。
内容的提问来源于stack exchange,提问作者liz
相关产品推荐
相关产品推荐

