回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我想按顺序对数据帧中的财务数据执行我自己的复杂操作。</p>
<p>例如,我正在使用来自<a href="http://finance.yahoo.com/q/hp?s=MSFT">Yahoo Finance</a>的以下MSFT CSV文件:</p>
<pre><code>Date,Open,High,Low,Close,Volume,Adj Close
2011-10-19,27.37,27.47,27.01,27.13,42880000,27.13
2011-10-18,26.94,27.40,26.80,27.31,52487900,27.31
2011-10-17,27.11,27.42,26.85,26.98,39433400,26.98
2011-10-14,27.31,27.50,27.02,27.27,50947700,27.27
....
</code></pre>
<p>然后,我将执行以下操作:</p>
<pre><code>#!/usr/bin/env python
from pandas import *
df = read_csv('table.csv')
for i, row in enumerate(df.values):
date = df.index[i]
open, high, low, close, adjclose = row
#now perform analysis on open/close based on date, etc..
</code></pre>
<p>这是最有效的方法吗?考虑到pandas对速度的关注,我假设一定有一些特殊的函数来迭代这些值,迭代的方式是检索索引(可能通过生成器来提高内存效率)?<code>df.iteritems</code>不幸的是,只会逐列迭代。</p>