今天在练习pandas时,想创建一个datetime类型的索引,结果不知道为什么创建为了MultiIndex类型。
df_set=pd.DataFrame(index=[pd.date_range(start='2022-11-08',end='2023-01-31',freq='H')],columns=['成绩'])
之后想把指定时间区间内的数据填充为80,使用以下代码:
df_set.loc[df_set.index.get_level_values(0).hour.isin(range(2, 17)), '成绩'] = 80 #
多了get_level_values(0)的操作。这个方法的意思是用于返回多层索引中指定层级的值,也就是第一层的值。不知道为什么会产生这个问题,但是这样写也能达成效果