본문 바로가기
멋쟁이사자처럼 AI School 8기(fin)/TIL(Today I Learn)

[멋쟁이사자처럼 AI스쿨] Day-29 TIL

by #FF0000 2023. 2. 7.

 

 

1.  .copy()

 

▶ .copy()는 파이썬, 판다스, 넘파이에서 모두 사용. but 기능이 약간 차이를 갖음.

 .copy() 앞에 붙은 객체의 type을 확인 필요.

 

 

 

2. sns.heatmap() & df.style.background_gradient()

 

sns.heatmap() : 전체를 기준

df.style.background_gradient() : 성질이 다른 각 변수를 각각 비교할 때 적합.

  ex) 변수에 체중, 키, BMI지수, 콜레스테롤수치처럼 스케일값이 다르고 성질이 다른 값의 스케일을 비교하고자 할 때 적합

 

 

 

3. groupby & pivot_table

 

▶ pivot_table이 groupby의 하이레벨 인터페이스

▶ groupby > pivot_table > crosstab

 

 

 

4. 수치 데이터 분석

 

 히스토그램 => 데이터 분포 확인

pairplot -> 짝을 지어 볼 수 있음. 상관관계 파악

 tidy data로 만들어 분석 .

막대그래프 -> 대표값만 표시

 boxplot -> 사분위수 표시. 내부 값이 바뀌어도 plot의 형태가 변하지 않을 수 있음

 violinplot -> 밀도를 표시하는 plot으로 카테고리값에 따른 각 분포의 실제 데이터 또는 전체 형상을 표현

 

 

 

5. 심슨의 역설(Simpson's paradox)

 

 데이터의 세부 그룹별로 일정한 추세나 경향성이 나타나지만,

 전체적으로 보면 그 추세가 사라지거나 반대 방향의 경향성을 나타내는 현상을 의미.

통계의 함정이 유발할 수 있는 잘못된 결과를 설명.

 

 

 

6. Kosis 사이트의 장점

 

하나의 데이터 분석시

사이트 내 모든 데이터 분석 가능. (동일 형태의 데이터 제공)

 

 

 

7. 정규표현식(regex)

 

일치하는 텍스트가 준수해야 하는 "패턴"을 표현하기 위해

 특정한 표준의 텍스트 신택스를 의미하기 위해 사용

  • [ ] : 일치시킬 문자 세트의 패턴
  • [가나다] : 가 or 나 or 다 중에 하나를 포함하고 있는지
  • [가-힣] : 한글 가부터 힣까의 문자 중 하나를 포함하고 있는지
  • [0-9] : 0~9까지의 숫자 중 하나를 포함하고 있는지
  • [^0-9] : 숫자를 포함하고 있지 않음
  • [^가-힣] : 한글이 포함되어 있지 않음
  • [가-힣+] : 한글이 하나 이상 포함되는지

 

 

8. nlargest & nsmallest

 

df.nlargest(n, 'value') : sort_values(ascending=False).head(n)df.nsmallest() : sort_values().head(n)

 

 

 

9. histogram 

 

  seaborn => 막대그래프에 대한 연산을 barplot으로 그릴 수 있음
  histogram => 수치, 범주형을 모두 표현 가능
  seaborn, pandas 에서 histogram은 수치데이터만 제공
  범주형 일 때는 기본값이 => count , 수치형 일 때는 기본값이 => sum

 

 

 

plotly => 일별시세, KOSIS

* 일별 시세 : 연속된 수치 데이터, 연속된 기간별로 시각화, 종목별 서브플롯 그리는 실습, px.line, bar, area ...

* KOSIS : 범주형 데이터에 대한 시각화, 국가권역별로 수입수출액 비교, px.histogram,

* 막대그래프 : px.bar(연산지원 X), px.histogram(histfunc으로 연산 지원).

                       but hisfunc은 계산 시간이 오래 걸림. => 판다스로 계산, px.bar()로 시각화

 

 

 

Q px.historgram 에 정렬기능이 잘 안 보입니다. 어떻게 정렬해서 시각화 하면 좋을까요?

A : .update_yaxes(categoryorder='total ascending') 이 명령어를 통해 정렬 가능, facet은 정렬 불가.

       facet => pandas, seaborn, plotly, 모두 정렬 불가. => 직접 서브플롯을 시각화 추천.

 

 

 

 

Q. Facetgrid & Pairgrid 차이?

A : FacetGrid => 하나의 범주형 변수를 쪼개고 나누어 시각화. (relplot, displot, caplot)     PairGrid => 여러 변수를 비교해서 서브플롯( ex) pairplot)