반응형
내 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
반응형
'파이썬' 카테고리의 다른 글
파이썬 How to filter numpy array by list of indices? (0) | 2021.01.01 |
---|---|
파이썬 NameError : 전역 이름 'myExample2'가 정의되지 않았습니다. # 모듈 (0) | 2021.01.01 |
파이썬 Flask에서 POSTed JSON을 얻는 방법은 무엇입니까? (0) | 2021.01.01 |
파이썬 대화 형 Python 셸에서 마지막 결과 가져 오기 (0) | 2021.01.01 |
파이썬 How to 'turn off' blurry effect of imshow() in matplotlib? (0) | 2021.01.01 |
댓글