遍历 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.loc好慢,怎么遍历访问DataFrame比较快
pandas.DataFrame.loc好慢,怎么遍历访问DataFrame比较快