커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 대기중
재재질문
undefined주차
북마크
박*순
댓글
0
추천
0
조회수
12
조회수
12
답변 대기중

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


제가 실수로 문의종료를 올려놓아서 다시 질문드립니다.  98-10-02의 Low 열에서의 값이  (687)인데 Low와 High 사이의 값이 687의 1.3 배가 되는 날을 찾거나 이 가격이 나오기 전에 Low 값이 더 작은 것이 있다면 그 가격을 기준으로 Low와 High 사이의 값이 1.3배가 되는 것을 찾으려고 합니다.


'find'라는 열을 하나 새로 만들어서 이 1.3배가 되는것에 1.3이라는 것을 표시하고 나머지는 null 이라고 표시하고자 합니다.

이것을 표현할 수 있을까요? ㅠㅠ 제가 실력이 부족해서 혹시 알려주실 수 있음 감사합니다.



import FinanceDataReader as fdr

import pandas as pd

df = fdr.DataReader('005930')

df=df[['Close','High','Low']]

#df['find']=np.where(df['find']<20, 1.3, none)

df

df


이렇게 질문을 드렸었는데 안녕하세요 박복순님,

제가 간단하게 생각한 방법은

shift값을 이용해서 다음 줄의 low 값과 high값이 같이 들어가도록 열을 추가합니다. 물론 열의 이름은 알기 쉽게 예를 들면 Low_shift, High_shift등으로 옮긴 것을 표시해주고, 이를 이용하여 (High_shift-Low_shift ) == Low*1.3 맞는지 아닌지 이런 부분을 체크해주시면 될 것 같아요.

그리고 나서 이 결과에 따른 값을 df['find']로 넣어주세요.

이렇게 답변을 주셨습니다.


제가 질문을 이해가 안되게 드린것 같아서 죄송합니다ㅠㅠ 제 말은 하루 차이라면 충분히 shift 값을 쓸 수 있겠지만 98-10-02 이후에 나오는 값들 중에서 Low와 High 사이의 값이 687의 1.3 배가 되는 날을 찾고 싶은 것이라서요 ㅠㅠ shift를 쓰기에는 무리가 있을 것 같습니다. 다른 방법이 없을까요?








취소
 공유
취소
댓글 0
댓글 알림
나의얼굴