
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
제가 실수로 문의종료를 올려놓아서 다시 질문드립니다. 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를 쓰기에는 무리가 있을 것 같습니다. 다른 방법이 없을까요?
