* map과 apply : 파이썬의 느린 iterable 계산을 vector 연산을 통해 빠르게 해줌
* numpy가 빠른 이유는 반복문을 사용하지 않고 vector 연산을 하기 때문!!
* 파이썬에서 lamda 함수를 추천하지는 않으나 간단한 건 편하긴 함 (아래 코드 참고)
```python
def find_year(x):
return x[:4]
df["생산연도"] = df["생산일"].map(find_year)
```
```python
df["생산연도"] = df["생산일"].map(lambda x : x[:4])
```
* merge : 공통된 index를 key값으로 두 df를 병렬병합
- on: 컬럼명이 동일할 때
- left_on, right_on : 컬럼명이 서로 다를 때
- how : 합집합(inner), 교집합(outer), 특정 집합(left, right 등)만 선택, default는 교집합(inner)
-- 보통 right로 merge 하더라도 left가 더 직관적이기에 순서를 바꿔서 how = 'left'를 자주 사용함
- https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html
* '\xa0'와 같은 아스키코드를 제거하지 못할 경우 인코딩 에러가 발생(cp949로 저장 불가)
* 파이썬에서는 utf-8로 인코딩 하기를 권장함
* %pwd : jupyter notebook 경로 확인
* 도움말 : (shift + tab + tab)
* koreanize-matplotlib : 한글폰트 적극 추천, 나온지 얼마 안된 새삥입니다
- https://github.com/ychoi-kr/koreanize-matplotlib
- 파이썬 문서 번역에도 참여하신 분이 배포한 pip
* plt.style.use : plot 꾸미기 가능, 'ggplot', 'fivethirtyeight'는 기본 폰트가 없어서 한글 폰트 그대로 사용 가능
* plt.legend(bbox_to_anchor=(1, 1)) : plot 오른쪽에 선박스 예쁘게 나와요
* plot(secondary_y =) : 두번째 y축
* plot은 matplotlib API와 pandas API 둘다 호출 가능
- matplotlib API : 자유도가 높으나 복잡, detail 설정 용이, https://matplotlib.org/
- pandas API : 추상화를 잘 해놔서 쉬움, 결국 matplotlib을 호출하는 건 같음
==> 즉, 아래와 같은 코드 혼용이 가능하다(seaborn도 마찬가지)
```python
df_norm.plot(figsize=(12, 5)) # pandas를 통한 matplotlib 호출, 크기는 (12, 5)
plt.axhline(0, c='k') # 0 값에 검은 선 생성
plt.legend(bbox_to_anchor=(1, 1)) # 각주 box를 오른쪽에 위치
```
* df.hist를 변수에 할당해주거나 ;를 달아주면 주석이 보이지 않음
* 왜도와 첨도: skew()와 kurt()
plotly https://plotly.com/python/
- ploty express 사용 권장, api를 모두 외울 필요는 없다(거의 유사)
* cufflink : plotly + pandas
* 내부는 Javascript, 인터페이스만 python
==> 한글 폰트 설정이 필요 없다!!! 대신 속도는 matplotlib보다 느림
==> 속도 향상을 위해,
대푯값을 표시해야 한다면 그래프에서 계산하지 않고 미리 계산해서 시각화 하거나
구간을 나눠서 실행하거나, 샘플링하거나 등의 방법이 있다.
* df.set_index 복습
* subplots을 그리기 위해 columns name 지정 필요
예) df_1.columns.name = "company"
* hover_data 는 인덱스가 아닌 컬럼 지정 가능
예) px.line(df, x="date", y="GOOG", hover_data={"date" : "|%Y-%m-%d"} )
'멋쟁이사자처럼 AIS7 > 오늘코드' 카테고리의 다른 글
[1024] ML Tools (0) | 2022.10.24 |
---|---|
[1013] EDA, Data Sampling, 파생변수를 이용한 Data 가공, 시각화(3-7 미작성) (0) | 2022.10.13 |
[1012] EDA, Tidy Data, KOSIS, 정규표현식 (0) | 2022.10.12 |
[1011] EDA (0) | 2022.10.11 |
[1004] EDA (0) | 2022.10.04 |
댓글