首页 > 解决方案 > 在 python 数据框中访问前几行的最佳方法是什么?

问题描述

我有一个来自 yfinance api 的 DataFrame 结果。

stock = yf.download ('PETR4.SA', start = '2019-01-01', stop = '2020-12-31')
stock.head()

           Open         High      Low       Close Adj        Close Volume
2019-01-02 22.549999 24.200001 22.280001 24.059999 23.284782 104534800
2019-01-03 23.959999 24.820000 23.799999 24.650000 23.855774 95206400
2019-01-04 24.850000 24.940001 24.469999 24.719999 23.923517 72119800
2019-01-07 24.850000 25.920000 24.700001 25.110001 24.300953 1217119

我想将某一天的最高价与前一天或前后 2 或 3 天的 HIGH 值进行比较。如何访问函数中的前几行?

标签: pythondataframe

解决方案


怎么用pandas.DataFrame.shift

>>> stock.shift(periods=1).head()  # the result is logically deduced.
           Open         High      Low       Close Adj        Close Volume
2019-01-02 NaN       NaN       NaN       NaN       NaN       NaN
2019-01-03 22.549999 24.200001 22.280001 24.059999 23.284782 104534800
2019-01-04 23.959999 24.820000 23.799999 24.650000 23.855774 95206400
2019-01-07 24.850000 24.940001 24.469999 24.719999 23.923517 72119800
2019-01-08 24.850000 25.920000 24.700001 25.110001 24.300953 1217119

?


推荐阅读