用熊猫和纽比。如何实现以下目标:
df['thecol'] = np.where(
(df["a"] >= df["a"].shift(1)) &
(df["a"] >= df["a"].shift(2)) &
(df["a"] >= df["a"].shift(3)) &
(df["a"] >= df["a"].shift(4)) &
(df["a"] >= df["a"].shift(5)) &
(df["a"] >= df["a"].shift(6)) &
(df["a"] >= df["a"].shift(7)) &
(df["a"] >= df["a"].shift(8)) &
(df["a"] >= df["a"].shift(9)) &
(df["a"] >= df["a"].shift(10))
,'istrue','isnottrue')
没有如此丑陋的代码重复,如果只是数字在改变?我想有相同的代码与我提供的任何数字,而不是键入所有的手动?在
它的意思是将列“a”中的当前值与同一列中的值(上面一行和上面两行等)进行比较,如果所有这些条件都为真,则结果为“istrue”
我尝试在for循环中移动dataframe,然后将该值附加到一个列表中,并计算其最大值,使其仅具有(df[“a”]>;=maxvalue)一次,但这对我也不起作用。我是Python的新手,在不久的将来可能会问更多愚蠢的问题
这是可行的,但我希望它也没有这个重复的代码,所以我可以学习正确的代码。我尝试过使用yield generator的示例,但也无法使其正常工作
@编辑:
回答者文。我需要rolling
。在
最后我想出了一个可怕的方法:
^{pr2}$
听起来你需要
rolling
相关问题 更多 >
编程相关推荐