Pandas 데이터 프레임에서 숫자를 필터링하는 방법은 무엇입니까?

Bentio Cano

나는 이것을 제목으로 지정하는 방법을 정말로 몰랐지만 내 질문은 다음과 같습니다. 기본 SMA 크로스 오버로 거래 알고리즘을 만들고 있습니다. 코드는 다음과 같습니다.

import pandas as pd
import pandas_datareader as data
import datetime as dt
import numpy as np
start = dt.datetime(2017, 1, 1)
end = dt.datetime(2020, 1, 20)
d = data.get_data_yahoo('URI', start, end) 

d['sma50'] = np.round(d['Close'].rolling(window=2).mean())
d['sma200'] = np.round(d['Close'].rolling(window=14).mean(), decimals = 2)
d['200-50'] = d['sma200'] - d['sma50']
_buy = -2
d['Crossover_Long'] = np.where(d['200-50'] < _buy, 1, 0)
d['buy'] = np.where(d['Crossover_Long']==1, 'buy', 'sell')
pd.set_option('display.max_rows', 400)
d.drop(['High', 'Low', 'Volume', 'Adj Close', 'Open'], axis=1, inplace=True)
d.dropna(inplace=True)
d.head()

따라서 처음 5 개 행은 다음과 같습니다.

    Close   sma50   sma200  200-50  Crossover_Long  buy
Date                        
2017-01-23  110.110001  111.0   109.04  -1.96   0   sell
2017-01-24  113.610001  112.0   109.35  -2.65   1   buy
2017-01-25  114.260002  114.0   109.67  -4.33   1   buy
2017-01-26  127.059998  121.0   110.87  -10.13  1   buy
2017-01-27  128.259995  128.0   112.22  -15.78  1   buy

1이 있으면 매수해야하고 0이 있으면 매도해야합니다. 이제 문제는 sma2가 sma14보다 높을 때 1을 계속 쓰는 대신 크로스 오버가있을 때 1 만 인쇄하도록하는 방법입니다. 다음 크로스 오버까지 0 inbetween. 어떤 아이디어? 감사!

어떻게

시리즈 에서 diff()메소드를 사용할 수 있습니다. Crossover_Long이미 0 또는 1로 코딩 되었기 때문에 상태가 변경 될 때 한 행만 1 또는 -1의 diff를 얻습니다. 그런 다음 0이 아닌 행을 찾아 그에 따라 플래그를 지정하십시오.

d['Crossover_Long_Change']=d.Crossover_Long.diff()

# code it as 1 where the value is not 0 (i.e. there is a change)
d['Crossover_Long_Change']=d['Crossover_Long_Change'].fillna(0).map(lambda x: 1 if x!=0 else 0)
d.head()


    Close   sma50   sma200  200-50  Crossover_Long  buy     Crossover_Long_Change
Date                            
2017-01-23  110.110001  111.0   109.04  -1.96   0   sell    0
2017-01-24  113.610001  112.0   109.35  -2.65   1   buy     1
2017-01-25  114.260002  114.0   109.67  -4.33   1   buy     0
2017-01-26  127.059998  121.0   110.87  -10.13  1   buy     0
2017-01-27  128.259995  128.0   112.22  -15.78  1   buy     0

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python / Pandas의 대형 데이터 프레임에서 통합 데이터를 필터링하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임의 열에 영숫자 시리즈를 채우는 방법은 무엇입니까?

분류에서Dev

Seaborn Catplot에서 색조 및 열 범주를 기반으로 pandas 데이터 프레임을 필터링하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임의 여러 열에서 문자를 제거하는 방법은 무엇입니까?

분류에서Dev

범주 형 변수를 포함하는 Pandas 데이터 프레임에서 숫자 열만 비의하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 문자열을 반전하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 자동 인덱싱을 제거하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 두 번째를 설정하는 방법은 무엇입니까?

분류에서Dev

Python : Pandas 데이터 프레임에서 인덱스를 선택하는 방법은 무엇입니까?

분류에서Dev

동일한 데이터 프레임의 다른 열에있는 값을 기반으로 pandas 데이터 프레임에서 결과를 필터링하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 10k 레코드를 만드는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 열의 고유 길이를 얻는 방법은 무엇입니까?

분류에서Dev

데이터 프레임에서 숫자 대신 변수를 더하는 방법은 무엇입니까?

분류에서Dev

R의 데이터 프레임 열에서 특정 숫자를 제거하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 k 연속 행의 합계를 얻는 방법은 무엇입니까?

분류에서Dev

Python의 Pandas 데이터 프레임에서 롤링 창 방정식 프로세스를 인쇄하는 방법은 무엇입니까?

분류에서Dev

다른 데이터 프레임 열로 Pandas 행을 필터링하는 방법은 무엇입니까?

분류에서Dev

dict 열로 Pandas 데이터 프레임을 필터링하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 임의의 값으로 합성 데이터를 생성하는 방법은 무엇입니까?

분류에서Dev

Pandas를 사용하여 CSV 폴더에서 사용자 지정 마스터 데이터 프레임을 생성하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에 범위 지정 조회를 적용하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에 describe ()를 사용하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임 행 (Pandas)에 변수를 계속 할당하는 방법은 무엇입니까?

분류에서Dev

열 이름의 벡터를 기반으로 R에서 데이터 프레임을 필터링하는 방법은 무엇입니까?

분류에서Dev

R에서 벡터를 사용하여 열별로 데이터 프레임을 필터링하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 데이터를 빠르게 정규화하는 방법은 무엇입니까?

분류에서Dev

dicts 목록에서 pandas 데이터 프레임으로 데이터를 추출하는 방법은 무엇입니까?

분류에서Dev

r의 함수에서 데이터 프레임을 필터링하기 위해 str_detect ()에서 쿼슈를 해제하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 괄호 또는 숫자가 포함 된 열의 항목을 바꾸는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Python / Pandas의 대형 데이터 프레임에서 통합 데이터를 필터링하는 방법은 무엇입니까?

  2. 2

    Pandas 데이터 프레임의 열에 영숫자 시리즈를 채우는 방법은 무엇입니까?

  3. 3

    Seaborn Catplot에서 색조 및 열 범주를 기반으로 pandas 데이터 프레임을 필터링하는 방법은 무엇입니까?

  4. 4

    Pandas 데이터 프레임의 여러 열에서 문자를 제거하는 방법은 무엇입니까?

  5. 5

    범주 형 변수를 포함하는 Pandas 데이터 프레임에서 숫자 열만 비의하는 방법은 무엇입니까?

  6. 6

    Pandas 데이터 프레임에서 문자열을 반전하는 방법은 무엇입니까?

  7. 7

    Pandas 데이터 프레임에서 자동 인덱싱을 제거하는 방법은 무엇입니까?

  8. 8

    Pandas 데이터 프레임에서 두 번째를 설정하는 방법은 무엇입니까?

  9. 9

    Python : Pandas 데이터 프레임에서 인덱스를 선택하는 방법은 무엇입니까?

  10. 10

    동일한 데이터 프레임의 다른 열에있는 값을 기반으로 pandas 데이터 프레임에서 결과를 필터링하는 방법은 무엇입니까?

  11. 11

    Pandas 데이터 프레임에서 10k 레코드를 만드는 방법은 무엇입니까?

  12. 12

    Pandas 데이터 프레임에서 열의 고유 길이를 얻는 방법은 무엇입니까?

  13. 13

    데이터 프레임에서 숫자 대신 변수를 더하는 방법은 무엇입니까?

  14. 14

    R의 데이터 프레임 열에서 특정 숫자를 제거하는 방법은 무엇입니까?

  15. 15

    Pandas 데이터 프레임에서 k 연속 행의 합계를 얻는 방법은 무엇입니까?

  16. 16

    Python의 Pandas 데이터 프레임에서 롤링 창 방정식 프로세스를 인쇄하는 방법은 무엇입니까?

  17. 17

    다른 데이터 프레임 열로 Pandas 행을 필터링하는 방법은 무엇입니까?

  18. 18

    dict 열로 Pandas 데이터 프레임을 필터링하는 방법은 무엇입니까?

  19. 19

    Pandas 데이터 프레임에서 임의의 값으로 합성 데이터를 생성하는 방법은 무엇입니까?

  20. 20

    Pandas를 사용하여 CSV 폴더에서 사용자 지정 마스터 데이터 프레임을 생성하는 방법은 무엇입니까?

  21. 21

    Pandas 데이터 프레임에 범위 지정 조회를 적용하는 방법은 무엇입니까?

  22. 22

    Pandas 데이터 프레임에 describe ()를 사용하는 방법은 무엇입니까?

  23. 23

    데이터 프레임 행 (Pandas)에 변수를 계속 할당하는 방법은 무엇입니까?

  24. 24

    열 이름의 벡터를 기반으로 R에서 데이터 프레임을 필터링하는 방법은 무엇입니까?

  25. 25

    R에서 벡터를 사용하여 열별로 데이터 프레임을 필터링하는 방법은 무엇입니까?

  26. 26

    Pandas 데이터 프레임에서 데이터를 빠르게 정규화하는 방법은 무엇입니까?

  27. 27

    dicts 목록에서 pandas 데이터 프레임으로 데이터를 추출하는 방법은 무엇입니까?

  28. 28

    r의 함수에서 데이터 프레임을 필터링하기 위해 str_detect ()에서 쿼슈를 해제하는 방법은 무엇입니까?

  29. 29

    Pandas 데이터 프레임에서 괄호 또는 숫자가 포함 된 열의 항목을 바꾸는 방법은 무엇입니까?

뜨겁다태그

보관