Python:将值动态附加到数据框

时间:2020-09-17 21:22:21

标签: python pandas dataframe loops append

我是python的新手,成为专家的方式将非常漫长。我有一个问题,如下所示的for循环方案,因为我想将动态获得的所有值附加到Dataframe的特定列中,而不是列表中,因为我需要这些值来进行其他计算相同的for循环。

我想更清楚一点,df有3列:

  1. 第1栏:收盘价(收盘价)
  2. 第2列:快速指数移动平均线(fast_ema)
  3. 第3列:缓慢的指数移动平均线(slow_ema)

现在,我想在df中创建一个名为“ LastBuyPrice”的新列,并将for循环生成的所有值放入此列中,而不是如下所示的列表中。

请为我提供适当的解决方案,在此先感谢您提供的任何帮助。

LastBuyPrice = []
LastBuyPrice.append(0)
adding = None

for i in range(1,len(df)):

  if (df.fast_ema[i-1] < df.slow_ema[i-1] and df.fast_ema[i] > df.slow_ema[i]): 
    adding = df.close[i]
    LastBuyPrice.append(adding)

  elif (df.fast_ema[i-1] > df.slow_ema[i-1] and df.fast_ema[i] < df.slow_ema[i]):
    LastBuyPrice.append(df.close[i])
    adding = None

  else: 
    if adding is not None:
      LastBuyPrice.append(adding)
    else:
      LastBuyPrice.append(0)

'''

0 个答案:

没有答案