본문 바로가기

Big Data94

OOP Style / Matlab Style 객체 지향 프로그래밍 (OOP) 스타일 Matplotlib는 파이썬의 데이터 시각화 라이브러리로, 객체 지향 프로그래밍 (OOP) 스타일로 그래프를 그릴 수 있습니다. OOP 스타일로 그래프를 그리는 가장 일반적인 방법은 Figure와 Axes 객체를 사용하는 것입니다. 여기서 Figure는 전체 그림을 나타내며, Axes는 실제 그래프와 축을 포함하는 개별 subplot입니다. 아래는 OOP 방식으로 Matplotlib 그래프를 그리는 예제입니다. 예제 1 import matplotlib.pyplot as plt import numpy as np # 데이터 생성 x = np.linspace(0, 10, 100) y = np.sin(x) # Figure와 Axes 객체 생성 fig, ax = plt.su.. 2023. 8. 8.
numpy histogram() np.histogram 함수는 NumPy 라이브러리에서 제공하는 히스토그램을 생성하는 함수입니다. 히스토그램은 데이터의 분포를 시각화하는데 사용되며, 데이터를 일정한 간격으로 나누어 각 구간의 빈도를 보여줍니다. 이를 통해 데이터의 패턴과 분포를 쉽게 파악할 수 있습니다. np.histogram 함수는 주어진 데이터를 특정 구간(빈)으로 나누어 각 구간의 빈도를 계산합니다. 이를 이용하여 도수 분포표를 생성할 수 있습니다. 아래는 np.histogram 함수를 사용하여 도수 분포표를 만드는 과정과 도수 분포표에 포함되는 항목들의 설명입니다. 데이터 준비: 분석하고자 하는 데이터를 준비합니다. 계급(빈) 설정: 히스토그램을 만들기 위해 데이터를 일정한 구간(빈)으로 나눕니다. 이 구간들을 계급이라고 합니다.. 2023. 8. 8.
DataFrame 인덱싱 DataFrame 인덱싱에서 일반적인 인덱싱과 팬시 인덱싱(fancy indexing)의 차이를 비교해드릴게요. 아래 예시를 통해 설명하겠습니다. 가상의 DataFrame을 생성하고 예시를 들겠습니다: import pandas as pd data = {'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50], 'C': [100, 200, 300, 400, 500]} df = pd.DataFrame(data, index=['one', 'two', 'three', 'four', 'five']) 일반적인 인덱싱 result_standard = df['A'] result_standard는 다음과 같이 'A' 열의 모든 값을 포함한 Series가 됩니다: one 1 two 2 thre.. 2023. 8. 8.
통계에서의 정규화 통계에서의 "정규화"는 다양한 의미를 가지고 있는데, 주로 두 가지 주요 의미로 사용됩니다. 첫 번째로는 데이터를 표준화하거나 스케일링하여 분석을 용이하게 만드는 과정을 의미하며, 두 번째로는 확률 분포를 따르는 데이터를 변환하여 정규분포(가우시안 분포)를 따르도록 하는 과정을 의미합니다. 데이터 스케일링 및 표준화 데이터 정규화의 첫 번째 의미는 데이터의 범위를 조절하여 분석을 쉽게 할 수 있도록 만드는 과정을 의미합니다. 주로 다음과 같은 방법들로 이루어집니다. Min-Max Scaling (최소-최대 스케일링): 데이터의 최소값을 0, 최대값을 1로 매핑하여 데이터를 0과 1 사이의 범위로 스케일링합니다. 공식은 다음과 같습니다: ​ Z-Score Scaling (Z-점수 표준화): z-score를.. 2023. 8. 8.
pandas와 numpy의 var()과 ddof ddof와 분산(variance) ddof (Degrees of Freedom): 통계학에서 자유도(degree of freedom)를 나타내는 개념으로, 샘플의 크기에 따라 분산을 얼마나 정확하게 추정해야 하는지 결정하는데 사용됩니다. 분산(variance): 데이터 값이 평균으로부터 얼마나 퍼져있는지를 나타내는 지표입니다. 분산은 데이터 값과 평균 간의 차이를 제곱하여 평균한 값입니다. Pandas의 var 함수 pandas.Series.var(): 시리즈 데이터의 분산을 계산합니다. 기본값: ddof의 기본값은 1로, 즉 불편 추정을 사용합니다. 사용 예시: import pandas as pd data = [10, 20, 30, 40, 50] series = pd.Series(data) # 불편 추.. 2023. 8. 8.
vectorize, apply, map DataFrame에서 사용되는 vectorize, apply, map 함수의 특징과 장점을 설명해드리겠습니다. vectorize 함수 특징: Numpy 배열의 벡터화 연산을 DataFrame의 열에 적용할 수 있도록 도와줍니다. 장점: 반복문을 사용하지 않고 빠른 연산을 가능하게 해 줍니다. 예제: import pandas as pd import numpy as np df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) vectorized_func = np.vectorize(lambda x: x * 2) df['A'] = vectorized_func(df['A']) print(df) apply 함수 특징: DataFrame의 열 또는 행에 함수를 적용할 수 있습니다.. 2023. 8. 8.
4분위수(Quartiles) 4분위수(Quartiles) 4분위수(Quartiles)는 데이터를 일정한 구간으로 나누는데 사용되는 통계적 개념입니다. 데이터셋을 정렬하면 첫 번째 분위수(Q1), 두 번째 분위수(Q2, 중앙값), 세 번째 분위수(Q3)로 나뉩니다. 이를 이용하여 데이터의 분포를 파악하고 이상치(outlier)를 탐지하는데 활용됩니다. 첫 번째 분위수(Q1, 25% 백분위수, 1st quartile): 데이터를 작은 값에서 큰 값으로 정렬했을 때, 전체 데이터의 25% 지점에 위치한 값입니다. 이 값은 데이터의 하위 25% 범위를 의미하며, 데이터의 하위 25%가 이 값보다 작거나 같습니다. 두 번째 분위수(Q2, 50% 백분위수, Median, 2nd quartile): 데이터를 작은 값에서 큰 값으로 정렬했을 때,.. 2023. 8. 7.
df.describe() df.describe() 함수는 데이터프레임(DataFrame)의 간단한 통계 요약 정보를 제공하는 기능입니다. Pandas 라이브러리에서 제공되며, 주로 숫자형 데이터의 요약 통계를 살펴보거나 데이터의 분포를 파악하는 데 사용됩니다. df.describe() 함수는 다음과 같이 호출됩니다: df.describe() 여기서 df는 데이터프레임 객체의 이름을 나타냅니다. df.describe() 함수는 기본적으로 다음과 같은 통계 정보를 반환합니다: 개수(count): 각 열의 비어 있지 않은(non-null) 값의 개수를 보여줍니다. 평균(mean): 각 열의 평균 값을 계산하여 보여줍니다. 표준편차(std): 각 열의 표준편차를 계산하여 보여줍니다. 최소값(min): 각 열의 최솟값을 보여줍니다. 25.. 2023. 8. 7.
pandas cut() pd.cut() pd.cut() 함수는 데이터를 구간(bin)으로 나누고 이를 특정 라벨로 표현하기 위해 labels 매개변수를 활용할 수 있습니다. 이를 통해 구간을 더 의미 있는 방식으로 표현하고 분석에 활용할 수 있습니다. pd.cut() 함수의 labels 매개변수에는 각 구간에 해당하는 라벨을 지정하는 리스트를 전달합니다. 이 라벨들은 데이터가 해당 구간에 속할 때 사용됩니다. 다음은 pd.cut() 함수와 labels 매개변수를 사용한 예제입니다: import pandas as pd # 예제 데이터 생성 data = {'나이': [25, 30, 22, 35, 40, 28, 21, 29, 31, 26]} df = pd.DataFrame(data) # 구간(bins) 및 라벨 정의 bins = [.. 2023. 8. 7.