【问题标题】:Iterate through defined Datetime index range in Pandas Dataframe遍历 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

标签: python pandas dataframe loops datetime


【解决方案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]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    • 2017-05-18
    • 2017-01-03
    • 2015-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多