擅长:python、mysql、java
<p>这是一个类似但略有不同的方法来解决这个问题的一个例子。我用虚拟值来演示。在</p>
<p>首先,我创建一个数据帧。在</p>
<pre><code>dates = pd.date_range('20130101', periods=3)
IBM = [5,3,2]
AMZN = [1,7,6]
FB = [4,7,9]
df = pd.DataFrame({'IBM': IBM,'AMZN': AMZN,'FB':FB}, index=dates)
df
AMZN FB IBM
2013-01-01 1 4 5
2013-01-02 7 7 3
2013-01-03 6 9 2
</code></pre>
<p>我使用<code>.shift()</code>来跟踪与数据帧中的第一天和第二天相比,第二天和第三天的值上升或下降的程度。我通过从<code>df</code>中减去<code>df.shift(1)</code>来实现这一点。第一天的值将被<code>NaN</code>替换。在</p>
^{pr2}$
<p>如果您喜欢<code>True</code>或<code>False</code>,可以检查这些值是否高于或低于<code>0</code>。因此,在这个例子中,<code>True</code>表示向上,<code>False</code>表示向下,第一天,即起始值,将被<code>False</code>替换。在</p>
<pre><code>df - df.shift(1) > 0
AMZN FB IBM
2013-01-01 False False False
2013-01-02 True True False
2013-01-03 False True False
</code></pre>