목록전체 글 (75)
SiLaure's Data
import pandas as pd # 다른 파일도 불러오자. data2 = pd.read_csv("../data/kaggle_survey_2020_responses.csv") data2 # 박사 학위 소지자들만 골라보자. data2.Q4.unique() # --masking 작업 data2["Q4"] == "Doctoral degree" data2[data2.Q4 == "Doctoral degree"] # masking을 전체 dataframe에 index로 걸어주면 해당 column이 true인 데이터만 뽑아낼 수 있다. phd = data2["Q4"] == "Doctoral degree" phd # (OPTIONAL) 박사 학위 소지자이면서, 대한민국 국적을 가진 사람들을 뽑아보자. # set(ph..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/I7PA6/btrazvixBCK/SUEhRjQKZjQ2SbvgFwACLK/img.png)
- Heatmap 정사각형 그림에 데이터에 대한 정도 차이를 색 차이로 보여주는 plot. --feature 간 수치의 차이가 있어야 한다. 말 그대로 heatmap이기 때문에, 열화상 카메라로 사물을 찍은 것처럼 정보의 차이를 보여준다. pairplot과 비슷하게 feature간 관계를 시각화할 때 많이 사용하며, pairplot과 함께 쓰는 경우가 많다. feature의 수가 많을 때 정보의 차이를 확연하게 확인할 수 있다. 상관계수로 계산한 행렬로 차이를 나타낸다. 상관계수 : -1과 1사이의 수로, 1에 가까울 수록 양의 상관관계, -1에 가까울 수록 음의 상관관계이다. 0이면 관계가 없는 서로 독립된 feature이다. heatmap을 찍기 전 각 feature간 상관관계를 파악하기 위해 Cor..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cr9kly/btraCSKXlnA/UzcKQs1gMvFx85gz6FGq4K/img.png)
- Scatterplot(산포도/산점도) lineplot과 비슷하게 x, y에 대한 전체적인 분포를 확인하는 plot. lineplot은 경향성에 초점을 둔다면, scatterplot은 데이터 그 자체가 퍼져있는 모양에 중점을 둔다. penguin 데이터에 scatterplot을 출력 body mass에 대한 flipper length의 분포를 species 의 차이 별로 뿌려준다. sns.scatterplot(data=penguins, x='body_mass_g', y='flipper_length_mm', hue='species') 출력 : 부리의 두께와 깊이가 성별로 얼마나 차이나는지 알 수 있는 plot이 출력된다. sns.scatterplot(data=penguins, x='bill_length_..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cGQwhv/btrat22CVeN/a91KseRV0aTeeAgHYUvoMK/img.png)
선을 이용한 plot들 - Lineplot : 특정 데이터를 x, y로 표시하여 관계를 확인할 수 있는 plot. (선 그래프) 수치형 지표들 간의 경향을 파악할 때 많이 사용한다. x와 y의 관계 변화를 볼 때 사용하기 좋다. 종에 따른 몸무게와 발사이즈의 분포 sns.lineplot(data=penguins, x='body_mass_g', y='flipper_length_mm', hue='species') 출력 : 종에 따른 부리의 길이와 깊이의 분포 sns.lineplot(data=penguins, y='bill_length_mm', x='bill_depth_mm', hue='species') 출력 : - Pointplot : 선을 그림과 동시에 각 포인트 별 얼마나 차이가 있는지 보여주는 plot..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Gve5L/btraDzxGQfS/GSiWBrUIH0SmZlBKG8M2K1/img.png)
분포 정보를 보여주는 plotting 기법 - Boxplot : 데이터의 각 종류별로 사분위 수(quantile)를 표시하는 plot. 특정 데이터의 전체적인 분포를 확인하기 좋은 시각화 기법. --중요 데이터가 어디에 얼마나 있나 확인하기 좋다. outlier(◆)를 통해 주요 분포에서 벗어난 데이터가 있는지 확인할 수 있다. box와 전체 range의 그림을 통해 outlier를 찾기 쉽다. (IQR : Inter-Quantile Range) penguin 데이터에 boxplot을 출력 sns.boxplot(data=penguins, x='flipper_length_mm', y='species', hue='species') 출력 : boxplot 안의 선 : 평균 box의 크기 : 평균을 기준으로 전..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqMu8F/btrapr1VDJ5/QSDfHA1PEOiapxcEhgIQjk/img.png)
- Barplot : 어떤 데이터에 대한 값의 크기를 막대로 보여주는 plot. (a.k.a. 막대그래프) 가로 / 세로 두 가지로 모두 출력 가능하다. 히스토그램과는 다르다.(**) 수치데이터, 범주데이터와 상관 없이 그 데이터의 수치값을 찍어준다. sns.barplot(data=penguins, x='flipper_length_mm', y='species', hue='species') 출력 : x와 y를 반대로 sns.barplot(data=penguins, x='species', y='flipper_length_mm', hue='species') 출력 : - Countplot 범주형 속성을 가지는 데이터들의 histogram을 보여주는 plot. 종류별 count를 보여주는 방법다 특정 데이터에 대..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pnrCE/btraoasRN0E/H3kn1KsAbKjbkVeIaZe6EK/img.png)
- Seaborn을 사용하기 전에 ... Library와 data를 불러오고, 시각화를 위한 세팅 하기 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns sns.set_theme(style='whitegrid') penguins = sns.load_dataset('penguins') penguins 출력 : - 기본 구문 구성 sns.~~~plot(data = xxx, x, y, hue) hue : 색상을 나누는 기준 - Histplot 가장 기본적으로 사용되는 히스토그램을 출력하는 plot. 전체 데이터를 특정 구간별 정보를 확인할 때 사용한다. e.g. sns.histplot(data=..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dALzeR/btrapsGy4tM/DpkPqgh6a01GS2acvfsYYk/img.png)
- Seborn Library : 데이터를 정제, 분석 후 matplotlib을 기본으로 다양한 시각화 기법을 제공하는 라이브러리. - 특징 Python에 내장된 Matplot Library보다 Powerful 하다. 예쁘다. 정보를 쉽게 이해할 수 있도록 시각화 처리를 할 수 있다. pandas DataFrame과 매우 호환이 잘 된다. - 기본 세팅 e.g. sns.xxxplot(data=df) - 공식 홈페이지에서 볼 만한 페이지 http://seaborn.pydata.org/introduction.html An introduction to seaborn — seaborn 0.11.1 documentation Seaborn is a library for making statistical graphi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xxhQJ/btrapE1DOmJ/Xhl6VRbZNmsX2YA88eyW20/img.png)
Pandas에서는 데이터를 불러올 때 여러가지 함수들을 사용할 수 있고, 그 함수들은 file, 확장자에 귀속된다. data 폴더에 있는 iris.csv 파일을 불러와서 변수 data에 저장하기 data = pd.read_csv("../data/Iris.csv") data 출력 : 더보기 data 특징 확인하기 data.info() 출력 : 더보기 RangeIndex: 150 entries, 0 to 149 Data columns (total 6 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Id 150 non-null int64 1 SepalLengthCm 150 non-null float64 2 SepalWidthC..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cqX5B5/btranGrXexA/t6A8W3TFpldYckrJABN8Ok/img.png)
Pandas에는 DataFrame과 Series밖에 없다. - DataFrame Indexing Indexing : 데이터에서 어떤 특정 조건을 만족하는 원소를 찾는 방법. : "이게 된다고?" 할 정도로 전체 DataFrame에서 조건에 만족하는 데이터를 쉽게 찾아서 조작할 때 유용하게 사용할 수 있다. Python list indexing과 Numpy fancy indexing 이 혼재되어 있어 앞의 두 가지를 복습하면 이해하기 쉬울 것 ! - pandas dataframe은 column 이름을 이용하여 기본적인 Indexing이 가능하다. dataframe에 바로 indexing을 사용하면 column을 indexing 해 온다. 여러 컬럼을 가져올 때는 list 형식으로 가져와야 한다. # A를 ..