简体   繁体   English

np.where 有两个条件

[英]np.where with two conditions

I have the following data, and I want to create buy and sell signals based on the Close in the data frame.我有以下数据,我想根据数据框中的收盘价创建买入和卖出信号。 I want to create two conditions as follow我想创造两个条件如下

!pip install yfinance
!pip install keras 
import yfinance as yf
import numpy as np 
import pandas as pd 

df=yf.download('BTC-USD',start='2008-01-04',end='2021-06-3',interval='1d')

buy=np.where((df['Close'][i] > df['Open'][i]) & (df['Close'][i-1] < df['Open'][i-1]),1,0)

But when I do that, it gives me one number of zero.但是当我这样做时,它给了我一个零。 Any insights would be appreciated.任何见解将不胜感激。

IIUC, you need: IIUC,你需要:

buy = np.where((df['Close'] > df['Open']) & (
    df['Close'].shift() < df['Open'].shift()), 1, 0)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM