遍历 Pandas Dataframe 中定义的日期时间索引范围

Posted

技术标签:

【中文标题】遍历 Pandas Dataframe 中定义的日期时间索引范围【英文标题】:Iterate through defined Datetime index range in Pandas Dataframe 【发布时间】:2020-12-14 23:55:05 【问题描述】:

我可以从here 看到如何从日期时间索引中迭代日期列表。但是,我想使用以下方法定义日期范围:

my_df['Some_Column'].first_valid_index()

my_df['Some_Column'].last_valid_index()

我的尝试如下所示:

for today_index, values  in range(my_df['Some_Column'].first_valid_index() ,my_df['Some_Column'].last_valid_index()):
    print(today_index)

但是我收到以下错误:

TypeError: 'Timestamp' object cannot be interpreted as an integer

我如何通知循环限制到这些特定日期?

【问题讨论】:

答案已编辑,date_range 返回 DatetimeIndex,所以需要for val in r:,在您的update 中使用today_index instaed today_index, values 【参考方案1】:

我觉得你需要date_range:

s = my_df['Some_Column'].first_valid_index()
e = my_df['Some_Column'].last_valid_index()

r = pd.date_range(s, e)

和for循环使用:

for val in r:
    print (val)

如果需要在DataFrame中选择行:

df1 = df.loc[s:e]

【讨论】:

以上是关于遍历 Pandas Dataframe 中定义的日期时间索引范围的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Pandas 中遍历 DataFrame 中的行

如何在 Pandas 中遍历 DataFrame 中的行

pandas.DataFrame.loc好慢,怎么遍历访问DataFrame比较快

pandas.DataFrame.loc好慢,怎么遍历访问DataFrame比较快

pandas遍历dataframe的行:迭代遍历dataframe的数据行iterrows函数itertuple函数

在Pandas Dataframe中遍历行的不同方法