본문 바로가기
파이썬

파이썬 Pandas DataFrame으로 일일 수익 계산

by º기록 2021. 1. 1.
반응형

내 Pandas 데이터 프레임은 다음과 같습니다.

prices = pandas.DataFrame([1035.23, 1032.47, 1011.78, 1010.59, 1016.03, 1007.95, 
              1022.75, 1021.52, 1026.11, 1027.04, 1030.58, 1030.42,
              1036.24, 1015.00, 1015.20])

daily_return 함수는 다음과 같습니다.

def daily_return(prices):
    return prices[:-1] / prices[1:] - 1

이 함수의 출력은 다음과 같습니다.

0    NaN
1      0
2      0
3      0
4      0
5      0
6      0
7      0
8      0
9      0
10     0
11     0
12     0
13     0
14   NaN

이 출력이있는 이유는 무엇입니까?

 

해결 방법

 

작업은 인덱스에 대한 정렬을 수행하므로 DataFrame 중 하나를 배열로 변환 할 수 있습니다.

prices[:-1].values / prices[1:] - 1

또는

prices[:-1] / prices[1:].values - 1

원하는 결과의 색인에 따라 다릅니다.

또는 shift () 메서드를 사용하십시오.

prices.shift(1) / prices - 1

과:

prices / prices.shift(1) - 1

 

참조 페이지 https://stackoverflow.com/questions/20000726

 

 

반응형

댓글