본문 바로가기

파이썬 공부(ft. sparta)/2주차

2-5. 분석하기(2) : 분석하기

앞서 한 코드를 놔두고 밑에

df.sort_values(by='eps')

를 치면 eps가 작은것부터 순서대로 아래 사진 처럼 엑셀표로 보여준다.

이거를 내림차순으로 보려면 아래 코드를 치면 된다.

df.sort_values(by='eps',ascending = False)

그럼 밑 사진 처럼 나온다.

그리고 per 가 30보다 작은것을 보려하면 아래 코드를 작성하면 된다.

df[df['per'] < 30]

그럼 출력값은 아래 사진과 같다.

그리고 eps 역순이 나온것처럼 per도 가능하다. 원래 있는 코드 뒤에 덧붙이면 되기때문이다.

df[df['per'] < 30].sort_values(by='per',ascending = False)

그럼 per가 30이하인 것을 큰수부터 차례대로 나오게 된다.

 

이번엔 상승비가 높은 것들을 추려낼거다.

그러려면 우리가 가지고 있어야하는건 'df , currentPrice, targetPrice' 이다.

df[['name','currentPrice','targetPrice']]

이렇게 하면 저 세가지에 해당되는 것만 나오게 된다.

이번엔 이걸 new_df에 넣을 거다.

여기서 유의할 점은 뒤에 copy()를 해 줘야 한다는 거다. 왜냐하면 우리가 new_df를 수정을 하게되면 원본인 df도 "같이" 수정이 되기 때문이다.

new_df = df[['name','currentPrice','targetPrice']].copy()
 
new_df

이렇게 되면 new_df가 df를 카피한 새로운 애가 된다.

이걸 가지고 상승비를 출력해줄건데,상승비는 targetPrice를 currentPrice로 나눈 것이기 때문에 아래 코드와 같다.

new_df = df[['name','currentPrice','targetPrice']].copy()

new_df['gap'] = new_df['targetPrice'] / new_df['currentPrice'] - 1

new_df

그럼 gap이라는 상승비가 옆에 붙어서 나오게 된다.

그리고 위와 같이 소수점이 많이 나오는 사람들은 아래 코드를 입력하고 실행한 뒤 import있는 곳으로 코드를 옮겨준다.

pd.options.display.float_format = '{:.2f}'.format

그리고 나서 다시 실행해보면 소수점이 둘째자리까지만 나오게 된다.

 

그리고 앞서 했던것처럼 또다시 정렬를 해준다.

new_df.sort_values(by='gap',ascending=False)

그럼 상승비가 높은 것부터 순서대로 나오게 된다.

이런식으로 계속 조건을 추가해 나가면서 분석할 수 있다.

'파이썬 공부(ft. sparta) > 2주차' 카테고리의 다른 글

2주차 끝 숙제  (0) 2023.04.05
2-4. 분석하기(1) : 전략 세우기, 데이터 모으기  (0) 2023.04.04
2-3. 해외주식 다루기 - yfinance  (0) 2023.04.04
2-2. pandas 실전  (0) 2023.04.03
2-1. 액셀 가져오기  (0) 2023.04.03