728x90
merge 함수
df_10 = df_top10.merge(df_krx, left_on="종목별", right_on="Name")
여기까지가 merge 함수 . 두 데이터프레임을 그대로 합치며, 키 값이 되는 컬럼만 제일 앞에 옴.
이 중에서 Name과 Code만 가져오고 싶으니까
df_10 = df_top10.merge(df_krx, left_on="종목별", right_on="Name")[['Name', 'Code']]
근데 하다보니까 드는 생각이 그러면 df_krx에는 Name 과 Code가 모두 들어있으니까 컬럼명만 변경해주면되는거아닌가..? 라는 생각이 들었지만.. merge 함수를 배우기 위함이었다고 생각하자..
fdr.DataReader?
- Docstring 참고
* symbol: code or ticker (코드 or Ticker(미국주식에서 준말 ex AAPL))
* start, end: date time string (시작일 , 종료일)
* exchange: 'KRX'(default), 'KRX-DELISTING', 'NYSE', 'NASDAQ',
'AMEX', 'SSE', 'SZSE', 'HKEX', 'TSE', 'HOSE' (원하는 거래소)
matplotlib.plot
다양한 스타일 설정을 위해 스타일 제공
❗ 폰트 포함한 스타일 사용하게 되면 한글설정 된 라이브러리와 충돌해서 깨짐!
plt.style.available
이중에 깨지지 않는
폰트 적용
# 한글폰트 확인
# fivethirtyeight', 'ggplot'
plt.style.use('ggplot')
pd.Series([1,3, -5, 7, 9]).plot(title = '한글 시험')
💡범례💡
✅ plot.(label) : 범례 제목
1) plot(label = '범례 제목') #plot() 안에 설정
2) plt.legend() #plt.legend()
✅ legend( ioc ) : 범례 위치
plt.legend(loc = (0.5,0.5))
plt.legend(loc = 'lower right')
# 좌표처럼 숫자 입력으로 가능하며 문자열로도 지정까지 가능하다.
# 좌표랑 숫자 모두 바둑판처럼 9군데 정도 가능한 것 같다.
# 참고로 숫자는 (1.0,1.0)이 오른쪽 위이다
✅ ncol: 범례의 가로, 세로 여부
파라미터는 범례에 표시될 텍스트의 열의 개수를 지정
ncol = 1이 default 값이며
범례가 2개 이상일 때
가로로 늘여서 볼 수도 있다.
✅ bbox_to_anchor : 범례를 그래프 밖으로 보내고 싶을 때
bbox_to_anchor
그래프 밖이나 좀 더 정확한 위치로 라벨을 넣고 싶다면 loc 대신 bbox_to_anchor 를 쓰시면 됩니다.
bbox_to_anchor 는 (x,y,width,height) 로 이루어져 있어서 직접 좌표, 글자크기, 높이를 넣을 수 있습니다.
bbox_anchor는 x,y가 1보다 작은 값일 때 그래프 안으로 들어오고 밖으로 내보내고 싶다면
1보다 큰 값을 넣으면 됩니다.
(0,0)이면 왼쪽 아래 구석이고 (1,1)이면 오른쪽 위쪽입니다.
💡 축 제목💡
✅plt.xlabel
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.show()
❗❗❗❗❗❗❗
다 잘되는데 xlim,ylim 왜안되냐.....하라는대로 여러번 했는데
728x90