본문 바로가기
728x90

빅분기36

[빅데이터분석기사 실기][작업형1] 누적합 계산 및 결측치 채우기(cumsum, bfill) 누적합(Cumulative Sum)은 데이터의 원소들을 순차적으로 더해가며 누적된 합을 계산하는 연산입니다. 이전까지의 모든 데이터 값을 현재 데이터 값과 함께 더하여 누적된 결과를 생성합니다. 누적합은 데이터의 추이와 누적적인 변화를 파악하는 데 유용하며, 데이터의 누적적인 변화를 시각화하거나 특정 시점까지의 누적된 값을 계산하는 데 사용될 수 있습니다. 누적합은 다양한 분야에서 사용됩니다. 다음과 같이 몇 가지 예시가 있습니다. 금융 분야: 주식 가격, 지수 등의 시계열 데이터에서 누적합을 계산하여 총 수익률, 누적 수익 등을 파악할 수 있습니다. 판매 분야: 매출 데이터에서 일별, 월별, 연도별 누적 매출을 계산하여 총 매출액 추이를 확인할 수 있습니다. 생산 분야: 생산량이나 생산 비용 데이터에서.. 2023. 5. 27.
[빅데이터분석기사 실기][작업형1] 값을 대체하기 (replace) 이번에는 pandas의 replace 함수를 이용하여 값을 대체해 보겠습니다. 딕셔너리를 이용해서 값을 여러개 대체할 수도 있고, 단일 값을 변경하는 경우에는 변경전, 후 값만 입력하여 변경도 가능합니다. import pandas as pd # 예제 데이터프레임 생성 data = {'A': [1, 2, 3, 4, 5], 'B': ['apple', 'banana', 'apple', 'cherry', 'banana']} df = pd.DataFrame(data) # 'B' 컬럼의 값을 변경하기 전 출력 print("Original DataFrame:") print(df) # 'B' 컬럼의 값을 변경하여 새로운 데이터프레임 생성 df_replaced = df.replace({'apple': 'orange', .. 2023. 5. 26.
[빅데이터분석기사 실기][작업형1] 분위수 구하고 값을 대체하기 (np.quantile(), np.clip()) 분위수(Quantiles)는 데이터를 일정한 비율로 나누는 기준점을 의미합니다. 주어진 데이터의 분포를 파악하고, 데이터의 상대적 위치를 알아보기 위해 사용됩니다. 일반적으로 백분위수(Percentiles)를 많이 사용합니다. 백분위수는 데이터를 100개의 동등한 부분으로 나눈 것으로, 데이터의 분포를 1부터 100까지의 백분위로 표현할 수 있습니다. 그리고 이런 분위수 기준으로 상, 하위값을 분위수로 대체하는 방식으로 이상치를 제거하기도 합니다. 아래는 이에 대한 간단한 예제입니다. import numpy as np # 예제 데이터 배열 생성 data = np.array([10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100]) # 상위 75% 값을 구하는 예제 uppe.. 2023. 5. 26.
[빅데이터분석기사 실기][작업형1] 결측치 제거 및 그룹화 앞서 결측치를 대체하는 방법을 알아보았습니다. 이번에는 dropna()를 사용하여 결측치가 존재하는 행을 삭제하는 방법입니다. 그리고, groupby로 데이터를 그룹화하고, index가 2개 이상인 경우에 값을 선택하는 방법까지 알아보겠습니다. import pandas as pd #샘플 데이터 만들기 df = pd.DataFrame({'value': [1, 2, None, 4, 5, 6], 'ind1': ['a', 'a', 'b', 'b', 'c', 'c'], 'ind2': [1, 2, 1, 2, 1, 2]}) #결측치 확인 df.isna().sum() #결측치 제거 df[~df['value'].isna()] #groupby로 멀티인덱스 만들기 df_grp=df.groupby(['ind1','ind2'].. 2023. 5. 24.
[빅데이터분석기사 실기][작업형1] 왜도와 첨도, np.log1p() 왜도 및 첨도는 데이터 세트의 형태 및 분포에 대한 정보를 제공하는 통계값입니다. 왜도(Skewness): 왜도는 분포의 비대칭성을 측정합니다. 양의 왜도는 분포의 꼬리가 오른쪽으로 치우쳐 있음을 의미하고 음의 왜도는 꼬리가 왼쪽으로 치우쳐 있음을 의미합니다. 왜도 값 0은 완벽하게 대칭적인 분포를 나타냅니다. 첨도(Kurtosis): 첨도는 분포의 정점 또는 평탄도를 측정합니다. 정규 분포와 비교하여 데이터에 두꺼운 꼬리(leptokurtic) 또는 가벼운 꼬리(platykurtic)가 있는지 여부를 알려줍니다. 첨도 값 3은 정규 분포를 나타냅니다. 양의 첨도는 꼬리가 두꺼울수록 더 뾰족한 분포를 나타내고, 음의 첨도는 꼬리가 더 가늘고 평평한 분포를 나타냅니다. 데이터 세트의 로그를 취할 때 왜도 .. 2023. 5. 24.
[빅데이터분석기사 실기][작업형1] map()을 이용하여 결측치 처리하기 Python에는 데이터의 결측치(누락된 값)를 처리하는 여러 가지 방법이 있습니다. 일반적으로 사용되는 몇 가지 방법은 다음과 같습니다. 결측치 삭제: dropna() 함수를 사용하여 결측치가 포함된 행 또는 열을 제거할 수 있습니다. axis 매개 변수를 지정하면 결측치가 있거나 특정 조건을 충족하는 행(axis=0) 또는 열(axis=1)을 삭제할 수 있습니다. 결측치 채우기: fillna() 함수를 사용하여 결측치를 지정된 값으로 채울 수 있습니다. 결측치를 상수 값으로 채우거나 전방 채우기(ffill), 후방 채우기(bfill) 또는 보간과 같은 다양한 방법을 사용하여 인접 값을 기반으로 누락된 값을 채우도록 선택할 수 있습니다. 결측값 대치: 대치에는 다른 관찰된 값을 기반으로 결측값을 추정하는.. 2023. 5. 24.
[빅데이터분석기사 실기][작업형1] 반올림, 올림, 내림, 버림의 차이 Python에서 round, floor, ceil 및 trunc 함수의 차이점을 짚고 넘어가겠습니다. numpy와 math 라이브러리를 사용할 수 있는데, 사용방법은 비슷합니다. 여기서는 양수와 음수를 모두 비교하기 위해 numpy를 사용했습니다. round: round() 함수는 숫자를 지정된 소수 자릿수로 반올림하는 데 사용됩니다. 기본적으로 가장 가까운 짝수로 반올림됩니다. 예를 들어 round(3.7)은 4로 반올림되고 round(3.2)는 3으로 반올림됩니다. ceil: 역시 수학 모듈에 있는 ceil() 함수는 주어진 숫자보다 크거나 같은 가장 작은 정수를 반환합니다. 항상 반올림합니다. 예를 들어 math.ceil(3.7)은 4를 생성하고 math.ceil(3.2)도 4를 생성합니다. flo.. 2023. 5. 23.
[빅데이터분석기사 실기][작업형1] IQR을 이용한 이상값 탐지 사분위수 범위(IQR)는 데이터 세트에서 이상값을 식별하는 데 사용되는 통계값입니다. 아래와 같은 순서로 이상값을 판별합니다. 1. IQR 계산: IQR은 제3사분위수(Q3)에서 제1사분위수(Q1)를 빼서 구합니다. 수학적으로 IQR = Q3 - Q1입니다. 2. 이상값 경계 정의: IQR에 상수(일반적으로 1.5 또는 3)를 곱하여 이상값을 식별하기 위한 임계값을 결정합니다. 하한은 Q1 - (IQR * 상수)로 정의되고 상한은 Q3 + (IQR * 상수)로 정의됩니다. 3. 잠재적 이상값 식별: 하한선 아래 또는 상한선 위에 있는 모든 데이터 포인트는 잠재적인 이상값으로 간주됩니다. 4. 이상값 처리 또는 조사: 데이터의 특성에 따라 이상값을 제거하거나 누락된 값으로 처리하거나 데이터 품질 문제 또는.. 2023. 5. 23.
[빅데이터분석기사 실기][작업형3] 일원배치법(One-Way ANOVA) 일원배치법 혹은 일원분산분석(One-Way ANOVA, One-Way Analysis of Variance)은 하나의 독립 변수(그룹 또는 처리)와 연속형 종속 변수(측정값) 간의 차이를 평가하는 통계적인 방법입니다. 이 방법으로 그룹 간의 평균 차이가 우연에 의한 것인지 통계적으로 검증할 수 있습니다. 일원배치법은 다음과 같은 과정으로 진행합니다. 가설 설정 귀무 가설(H0): 그룹 간의 평균은 모두 동일하다. 대립 가설(H1): 적어도 하나의 그룹의 평균은 다른 그룹과 유의하게 다르다. 기본 가정 검증 일원배치법에 따른 검증이 유효하려면 충족되어야 하는 몇 가지 가정이 있습니다. 이러한 가정에는 다음이 포함됩니다. 독립성: 각 그룹 내의 관측값은 서로 독립적인 것으로 가정합니다. 이는 한 그룹의 측정.. 2023. 5. 20.
728x90