使用pandas和numpy。我怎样才能实现以下目标:
sed -E "s/[^']*('[^']*').*/\1/" <<< "to_date('04/10/12','DD/MM/RR')"
如果没有如此难以重复的代码,如果它只是正在改变的数字?我想使用我提供的任何号码使用相同的代码,而无需手动输入全部内容吗?
用于比较列#34; a&#34;中的当前值。到上面一行的同一列中的值,以及上面两行等,并导致&#34; istrue&#34;如果所有这些条件都是真的
我尝试在for循环中移动数据帧,然后将值附加到列表并将其最大值计算为只有(df [&#34; a&#34;]&gt; = maxvalue)一次,但它不会&# 39;也适合我。我是Python的新手,可能会在不久的将来提出更多愚蠢的问题
这有效,但我希望它能在没有这么多重复代码的情况下工作,这样我就可以学会正确编码。我尝试了使用yield generator的示例,但无法使其工作
@Edit :
回答 Wen 。我需要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')
。
最后我想出了这种可怕的糟糕方法:
rolling
答案 0 :(得分:2)
听起来像你需要np.where(df['a']==df['a'].rolling(10).max(),'istrue','isnottrue')
def get_layer0_outputs(model, test_data):
output = model.layers[0].output
inputs = [K.learning_phase()] + model.inputs
func = K.function(inputs, [output])
return func([0] + [test_data])