본문 바로가기

[업무 지식]/Seaborn19

[scatterplot] 한번에 모든 컬럼 시각화 import matplotlib.pyplot as pltimport seaborn as snsdef get_scatter(df, target_column=None): """ 데이터프레임의 열들 간 산점도를 플롯합니다. 매개변수: - df: pandas DataFrame, 데이터를 포함한 데이터프레임 - target_column: str, 특정 타겟 열과 나머지 열 간의 산점도를 그릴 경우 지정 (기본값: None) """ columns = df.columns num_columns = len(columns) if target_column: # 특정 타겟 열과 나머지 열 간의 산점도만 생성 columns =.. 2024. 11. 27.
[히스토그램] 한번에 시각화하는 함수 작성 # 히스토그램 시각화def get_hist(df): import seaborn as sns num_columns = len(df.columns) rows = (num_columns // 5) + (num_columns % 5 > 0) plt.figure(figsize=(20, rows * 5)) for i, column in enumerate(df.columns): ax = plt.subplot(rows, 5, i + 1) sns.histplot(df[column], kde=True) plt.xlabel(column, fontsize=12) plt.tight_layout() plt.show()get_hist(df) 2024. 11. 27.
[boxeplot] Plotting large distributions import seaborn as snssns.set_theme(style="whitegrid")diamonds = sns.load_dataset("diamonds")데이터셋sns.load_dataset("diamonds"): Seaborn에 내장된 다이아몬드 데이터셋을 불러옵니다. 이 데이터셋은 다이아몬드의 가격, 캐럿, 컷 품질, 색상, 투명도(clarity) 등의 정보를 포함하고 있습니다.carat (연속형): 다이아몬드의 무게.clarity (범주형): 다이아몬드의 투명도 등급 (I1, SI2, SI1, VS2, VS1, VVS2, VVS1, IF).cut (범주형): 다이아몬드의 컷 품질.color (범주형): 다이아몬드의 색상 등급.price (연속형): 다이아몬드의 가격.코드 설명clarity.. 2024. 11. 17.
[FacetGrid] Overlapping densities (‘ridge plot’) import numpy as npimport pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltsns.set_theme(style="white", rc={"axes.facecolor": (0, 0, 0, 0)})sns.set_theme(): Seaborn의 테마를 설정합니다. 여기서는 style="white"로 설정하여 배경을 흰색으로 지정하고, rc={"axes.facecolor": (0, 0, 0, 0)}로 축의 배경을 투명하게 설정합니다.# Create the datars = np.random.RandomState(1979)x = rs.randn(500)g = np.tile(list("ABCDEFGHIJ"), 50)df = pd.Dat.. 2024. 11. 13.
[jointplot] Joint kernel density estimate import seaborn as snssns.set_theme(style="ticks")# Load the penguins datasetpenguins = sns.load_dataset("penguins")penguins데이터셋Seaborn에 내장된 펭귄 데이터셋을 불러옵니다. 이 데이터셋은 세 종류의 펭귄에 대한 여러 신체 측정값을 포함하고 있습니다.주요 변수:species: 펭귄의 종 (Adelie, Chinstrap, Gentoo).island: 펭귄이 관찰된 섬.bill_length_mm: 부리의 길이 (mm).bill_depth_mm: 부리의 깊이 (mm).flipper_length_mm: 날개 길이 (mm).body_mass_g: 몸무게 (g).sex: 성별.python커널 밀도 추정(KDE).. 2024. 11. 13.
[Jointgrid] Joint and marginal histograms import seaborn as snssns.set_theme(style="ticks")# Load the planets dataset and initialize the figureplanets = sns.load_dataset("planets")g = sns.JointGrid(data=planets, x="year", y="distance", marginal_ticks=True)planetssns.load_dataset("planets"): Seaborn의 내장 데이터셋 중 하나인 planets 데이터셋을 불러옵니다. 이 데이터셋은 외계 행성(Exoplanet)에 대한 정보를 포함하고 있으며, 각 행성의 발견 연도(year), 지구로부터의 거리(distance), 탐지 방법(method) 등의 변수를 .. 2024. 11. 13.
[stripplot] Conditional means with observations import seaborn as sns import matplotlib.pyplot as plt sns.set_theme(style="whitegrid") iris = sns.load_dataset("iris") iris 데이터셋 설명 아이리스(Iris) 데이터셋은 세 가지 종류의 붓꽃(setosa, versicolor, virginica)에 대한 네 가지 측정값(꽃받침 길이/너비 및 꽃잎 길이/너비)을 포함하고 있습니다: species: 붓꽃의 종류 (Setosa, Versicolor, Virginica). sepal_length: 꽃받침 길이. sepal_width: 꽃받침 너비. petal_length: 꽃잎 길이. petal_width: 꽃잎 너비. 시각화에서는 이 네 가지 측정값을 하나의 축(m.. 2024. 11. 10.
[boxplot] Horizontal boxplot with observations import seaborn as snsimport matplotlib.pyplot as pltsns.set_theme(style="ticks")# Load the example planets datasetplanets = sns.load_dataset("planets")planets 데이터셋 설명planets 데이터셋은 외계 행성을 탐지한 다양한 방법과 그 결과를 포함하고 있습니다. 주요 변수는 다음과 같습니다:distance: 지구에서 해당 외계 행성까지의 거리 (단위: 파섹).method: 외계 행성을 발견한 탐지 방법 (예: Transit, Radial Velocity 등).그 외에도 궤도 주기(period), 질량(mass) 등의 변수가 포함되어 있습니다.시각화에서는 탐지 방법(method)에 따.. 2024. 11. 9.
[histplot] Stacked histogram on a log scale import seaborn as snsimport matplotlib as mplimport matplotlib.pyplot as pltsns.set_theme(style="ticks")diamonds = sns.load_dataset("diamonds")diamonds 데이터셋 설명다이아몬드 데이터셋은 여러 가지 다이아몬드 속성을 포함하고 있습니다:price: 다이아몬드의 가격 (연속형 변수).cut: 다이아몬드의 컷 품질 (범주형 변수: Ideal, Premium, Good 등).그 외에도 캐럿 무게(carat), 투명도(clarity), 색상(color) 등의 변수가 있습니다.시각화에서는 가격(price) 변수를 기준으로 컷(cut) 품질에 따른 분포를 보여주고 있습니다. 이를 위해 hue="cut.. 2024. 11. 9.
[jointplot] Hexbin plot with marginal distributions import numpy as npimport seaborn as snssns.set_theme(style="ticks")rs = np.random.RandomState(11)x = rs.gamma(2, size=1000)y = -.5 * x + rs.normal(size=1000) seabornsns.jointplot(x=x, y=y, kind="hex", color="#4CB391")설명rs = np.random.RandomState(11): 난수 생성을 위한 시드(seed)를 설정합니다. RandomState(11)은 재현 가능한 난수를 생성하기 위해 사용됩니다. 동일한 시드 값을 사용하면 동일한 난수 생성 결과를 얻을 수 있.. 2024. 11. 9.
[relplot] Scatterplot heatmap import seaborn as snssns.set_theme(style="whitegrid")# Load the brain networks dataset, select subset, and collapse the multi-indexdf = sns.load_dataset("brain_networks", header=[0, 1, 2], index_col=0)df데이터 정제used_networks = [1, 5, 6, 7, 8, 12, 13, 17]used_columns = (df.columns .get_level_values("network") .astype(int) .isin(used_networks))df = .. 2024. 11. 9.
[violinplot] Grouped violinplots with split violins import seaborn as snssns.set_theme(style="dark")# Load the example tips datasettips = sns.load_dataset("tips")tipsseabornsns.violinplot( data=tips, x="day", y="total_bill", hue="smoker", split=True, inner="quart", fill=False, palette={"Yes": "g", "No": ".35"})설명sns.set_theme(style="dark"): Seaborn의 테마를 설정하는 함수입니다.style="dark": 어두운 배경을 적용하여 데이터 포인트와 선이 더 명확하게 보이도록 설정합.. 2024. 11. 9.
[barplot] Grouped boxplots import seaborn as snssns.set_theme(style="ticks", palette="pastel")# Load the example tips datasettips = sns.load_dataset("tips")tipsseabornsns.boxplot(x="day", y="total_bill", hue="smoker", palette=["m", "g"], data=tips)sns.despine(offset=10, trim=True)설명sns.set_theme(style="ticks", palette="pastel"): Seaborn의 테마를 설정하는 함수입니다.style="ticks": 그래프에 눈금(t.. 2024. 11. 9.
[catplot] Grouped barplots import seaborn as snssns.set_theme(style="whitegrid")penguins = sns.load_dataset("penguins")penguinsseaborn# Draw a nested barplot by species and sexg = sns.catplot( data=penguins, kind="bar", x="species", y="body_mass_g", hue="sex", errorbar="sd", palette="dark", alpha=.6, height=6)g.despine(left=True)g.set_axis_labels("", "Body mass (g)")g.legend.set_title("")설.. 2024. 11. 9.
[relplot] Line plots on multiple facets import seaborn as snssns.set_theme(style="ticks")dots = sns.load_dataset("dots")dots seaborn# Define the palette as a list to specify exact valuespalette = sns.color_palette("rocket_r")# Plot the lines on two facetssns.relplot( data=dots, x="time", y="firing_rate", hue="coherence", size="choice", col="align", kind="line", size_order=["T1", "T2"], palette=palette, .. 2024. 11. 9.
[displot] Facetting histograms by subsets of data import seaborn as snssns.set_theme(style="darkgrid")df = sns.load_dataset("penguins")df seabornsns.displot( df, x="flipper_length_mm", col="species", row="sex", binwidth=3, height=3, facet_kws=dict(margin_titles=True),)  설명1. sns.displot()displot()은 Seaborn에서 제공하는 분포 시각화 함수로, 히스토그램이나 커널 밀도 추정(KDE) 그래프를 그릴 때 사용됩니다.이 함수는 특히 여러 범주형 변수에 따라 데이터를 나누어 시각화할 때 유용합니다.2. data=dfdf.. 2024. 11. 9.
[lineplot] Timeseries plot with error bands import seaborn as snssns.set_theme(style="darkgrid")# Load an example dataset with long-form datafmri = sns.load_dataset("fmri")seabornsns.lineplot( x="timepoint", y="signal", hue="region", style="event", data=fmri) 설명sns.set_theme(style="darkgrid"): Seaborn의 테마를 설정하는 함수입니다.style="darkgrid": 그래프의 배경을 어두운 그리드 스타일로 설정합니다. 이 스타일은 데이터 포인트와 선을 더 명확하게 보여주기 위해 그리드 라인을 강조합니다.sns.load_d.. 2024. 11. 8.
[lmplot] Anscombe’s quartet import seaborn as snssns.set_theme(style="ticks")# Load the example dataset for Anscombe's quartetdf = sns.load_dataset("anscombe") seabornsns.lmplot( data = df, x = 'x', y = 'y', col = 'dataset', hue = 'dataset', col_wrap = 2, palette = 'muted', ci = None, height = 4, scatter_kws = {'s': 50, 'alpha': 1})코드 설명1. sns.lmplot()lmplot()은 산점도와 회귀선을 함께 그리는 함수입니다. 이 함수는 데.. 2024. 11. 8.
[Scatterplot] Scatterplot with multiple semantics import seaborn as snsimport matplotlib.pyplot as pltsns.set_theme(style = 'whitegrid')diamonds = sns.load_dataset('diamonds')diamonds seabornf, ax = plt.subplots(figsize=(6.5, 6.5))sns.despine(f, left = True, bottom = True)clarity_ranking = ["I1", "SI2", "SI1", "VS2", "VS1", "VVS2", "VVS1", "IF"]sns.scatterplot( x = 'carat', y = 'price', hue = 'clarity', size = 'depth', palette = .. 2024. 11. 8.