【问题标题】:Pandas dataframe time series: get maximum column value in a given row (date) rangePandas 数据帧时间序列:获取给定行(日期)范围内的最大列值
【发布时间】:2020-07-10 17:03:06
【问题描述】:

我正在处理股票价格的 pandas 数据帧时间序列(索引是日期和时间,而不是整数),我试图在 df 的最后 200 行中找到列“A”的最大值,所以我尝试了:

    maxofAinlast200rows = df.loc[-201:-1,'A'].max()

返回:

TypeError: cannot do slice indexing on with these indexers [0] of

我了解该错误,但我不确定如何轻松绕过它。在我的例子中,最后一行是今天的日期,计算的第一行是 200 天前的日期。

【问题讨论】:

    标签: python-3.x pandas


    【解决方案1】:

    如果你使用.loc,你需要使用精确的索引,而不是整数,否则你需要使用.iloc。所以你需要做的是:

    maxofAinlast200rows = df.iloc[-201:-1].A.max()
    

    【讨论】:

      猜你喜欢
      • 2017-12-21
      • 2022-01-17
      • 1970-01-01
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      • 2015-05-18
      相关资源
      最近更新 更多