我正在处理一个大型数据集,在这里我需要查看同一列中的下一行值是否大于当前值。然后保存1或-1。所以,如果d列中的当前行是1,同一列中的下一个值是2,那么它将1保存在同一行和同一数据帧中的新列('e)上。问题是它总是保存一个值。你知道吗
import numpy as np
import pandas as pd
df1 = pd.DataFrame(np.random.randn(10, 4), columns=['a', 'b', 'c', 'd'])
mask = df1.applymap(lambda x: x <-0.7)
df1 = df1[-mask.any(axis=1)]
sLength = len(df1['a'])
rwno=0
PrevClose=[]
for index,row in df1.iterrows():
Close=row.iloc[3]
PrevClose.append(Close)
rwno+=1
print df1
rwno=1
for index,row in df1.iterrows():
NxtDaySpy=0
if rwno < len(df1.index) :
NextClose=PrevClose[rwno]
Close=row.iloc[3]
df1['e']=pd.Series((NextClose-Close)/abs(NextClose-Close), index=df1.index)
rwno+=1
print df1.head
为了简单起见,假设您有一个只有一列的数据帧。你知道吗
您可以使用
shift()
延迟(或超前)数据。你知道吗然后使用列表理解得到你的
1
和-1
相关问题 更多 >
编程相关推荐