在使用Pandas时,我可以使用.shift()检查前面和后面的行,以查看是否满足某些条件。你知道吗
如果我需要查看是否满足一个条件,即在我比较的行之后可能是100行或更多行,该怎么办?我知道在数据帧中循环不是最有效的,但是有人能帮我举个例子吗。你知道吗
当df['reversion']列有一个信号时(如下面14:00显示6.0的示例所示),我想知道在14:00行之后首先看到的是以下哪一个:
df.price
,值为df.reversal
+1(我们可以看到这是在20:00命中的,因为6+1=7)df.price
的值为df.reversal
-df.reversal
(在本例中,由于价格未达到6-6=0,因此未达到该值)这是我想要看到的蓝色单元格的输出。新列应该显示达到目标的时间(根据本例)或未达到目标的时间(如果本例中价格达到0)。你知道吗
请参见下面的df.to_dict()
来复制:
{'move_start': {datetime.time(9, 0): nan,
datetime.time(10, 0): nan,
datetime.time(11, 0): nan,
datetime.time(12, 0): nan,
datetime.time(13, 0): nan,
datetime.time(14, 0): datetime.time(9, 0),
datetime.time(15, 0): nan,
datetime.time(16, 0): nan,
datetime.time(17, 0): nan,
datetime.time(18, 0): nan,
datetime.time(19, 0): nan,
datetime.time(20, 0): nan},
'price': {datetime.time(9, 0): 1,
datetime.time(10, 0): 2,
datetime.time(11, 0): 3,
datetime.time(12, 0): 4,
datetime.time(13, 0): 5,
datetime.time(14, 0): 6,
datetime.time(15, 0): 5,
datetime.time(16, 0): 4,
datetime.time(17, 0): 3,
datetime.time(18, 0): 2,
datetime.time(19, 0): 4,
datetime.time(20, 0): 7},
'reversal': {datetime.time(9, 0): nan,
datetime.time(10, 0): nan,
datetime.time(11, 0): nan,
datetime.time(12, 0): nan,
datetime.time(13, 0): nan,
datetime.time(14, 0): 6.0,
datetime.time(15, 0): nan,
datetime.time(16, 0): nan,
datetime.time(17, 0): nan,
datetime.time(18, 0): nan,
datetime.time(19, 0): nan,
datetime.time(20, 0): nan}}
把它弄得更好更干净,我想。。。你知道吗
PS:作为典型的pythonist,我很懒,喜欢处理包含最典型问题的普通输入/输出,所以你让beggining变成了一个讨厌的df,而不是只写XD。。。关于阅读文本。。。人们倾向于写,写,写。通常这是一个简单的问题,但hella wroten,所以我不理解yota xD。然后就好像“他想要这里吗?!”。你知道吗
相关问题 更多 >
编程相关推荐