Python 2.7 引用数据帧中的多行
我对编程真的很陌生,并且试图通过学习Python来混日子。 我正在写一些代码来处理雅虎财经的数据。它被导入数据帧 我想执行一个简单的计算,它引用数据帧的多行。我不认为我可以用ItErrors一次覆盖一行 下面是我的数据框(索引是日期)。最后一行是我买入(1)或卖出(-1)的触发器,但买入/卖出价格必须来自下一行 在这个例子中,2月22日是我的信号日。然后,我需要使用2月23日的开盘价进行头寸计算等。根据信号列中的值(以前使用iterrows创建)访问df中数据的最佳方式是什么?我不能在iterrows迭代期间这样做,因为它一次只能查看一行(我想) 任何想法都将不胜感激Python 2.7 引用数据帧中的多行,python-2.7,pandas,iteration,dataframe,yahoo-finance,Python 2.7,Pandas,Iteration,Dataframe,Yahoo Finance,我对编程真的很陌生,并且试图通过学习Python来混日子。 我正在写一些代码来处理雅虎财经的数据。它被导入数据帧 我想执行一个简单的计算,它引用数据帧的多行。我不认为我可以用ItErrors一次覆盖一行 下面是我的数据框(索引是日期)。最后一行是我买入(1)或卖出(-1)的触发器,但买入/卖出价格必须来自下一行 在这个例子中,2月22日是我的信号日。然后,我需要使用2月23日的开盘价进行头寸计算等。根据信号列中的值(以前使用iterrows创建)访问df中数据的最佳方式是什么?我不能在iterr
Cheers\MP如果您的信号列是las列,并且希望选择该列中的值为1的行:
df.loc[df.iloc[:, -1] == 1]
如果我知道的话,最好使用列名。您可能需要阅读此内容:并在此页面中搜索
select
:谢谢,现在将查看问题正在处理信号列中第一个出现的1下面的行。基本上是按索引(时间序列)的顺序向下搜索“位置”列,直到出现1为止。然后返回下一行“close”列中的值。我只想在第一次出现1时返回此值。首先,可能有更好的方法来创建我的数据框架,但这是基于从Yahoo Finance导入的。
df.loc[df.iloc[:, -1] == 1]