본문 바로가기
728x90

데이터분석과 AI81

[빅데이터분석기사 실기][작업형1] Shift로 데이터 이동하기 shift 함수는 pandas 라이브러리에서 제공되는 함수로, 데이터 프레임의 열을 특정 방향으로 이동시키는 기능을 수행합니다. 이 함수를 사용하면 열의 값들이 한 칸씩 앞이나 뒤로 이동하게 됩니다. shift 함수는 다음과 같은 형식으로 사용됩니다: df['이동된 열'] = df['기존 열'].shift(periods=n) 여기서 periods=n은 이동할 칸 수를 지정하는 매개변수입니다. n이 양수인 경우 열의 값을 뒤로 이동시키고, 음수인 경우 앞으로 이동시킵니다. 이동된 결과는 새로운 열로 추가되며, 이동되는 과정에서 가장 첫 번째 값은 결측치로 채워집니다. 아래 예시를 보겠습니다. import pandas as pd # Create a sample DataFrame data = {'A': [1,.. 2023. 6. 9.
Label Encoidng 시 ValueError: y contains previously unseen labels:가 발생할 때 Label Encoding 시 "ValueError: y contains previously unseen labels:"가 발생할 때가 있습니다. 학습데이터에 fit을 하고, 테스트데이터에 transform을 했을 때, 테스트데이터에 학습데이터에 없는 범주값이 존재할 때 발생합니다. 초보자 분들의 경우에는 학습데이터와 테스트데이터 모두 fit_transform을 하는 경우가 있기도 하고, 학습데이터와 테스트 데이터를 합쳐서 fit 하고, 학습데이터와 테스트 데이터를 transform 해주기도 하지만, 원칙적으로 학습데이터와 테스트 데이터는 독립적이어야 하므로 실무적으로 권장되는 방법은 아닙니다.(Data Leakage 문제가 생기며, 대회 등에서는 탈락 사유가 됩니다.) LabelEncoder.class.. 2023. 6. 8.
[빅데이터분석기사 실기][작업형1] iloc와 loc를 이용한 데이터프레임 접근 iloc와 loc는 데이터프레임을 다루는 데 있어 기본이 되는 방법입니다. iloc와 loc에 대해 알기 전에 슬라이싱을 알아야 하니, 혹시 슬라이싱에 익숙하지 않으면 아래 글을 먼저 봐주세요. 2023.06.17 - [데이터분석과 AI/빅데이터 분석기사] - [빅데이터분석기사 실기][작업형1] 슬라이싱 1. loc와 iloc의 차이 - 행 loc는 index에 직접 접근하며, iloc는 index의 순서를 따릅니다. import pandas as pd # 데이터 생성 data = { 'Car': ['Corolla', 'Civic', 'Accord', 'Sonata', 'Optima'], 'Manufacturer': ['Toyota', 'Honda', 'Honda', 'Hyundai', 'Kia'], '.. 2023. 6. 6.
[빅데이터분석기사 실기][작업형1] 그룹화와 정렬 + 멀티인덱싱 groupby 함수는 데이터를 집계하는 함수입니다. 비슷하게 pivot_table을 사용할 수도 있습니다. sort_values는 DataFrame 또는 Series를 정렬하는 함수입니다. DataFrame을 정렬할 때는 by 파라미터에 정렬기준이 되는 변수명을 입력하고, Series를 정렬할 때는 변수명을 입력하지 않습니다. ascending=True가 기본값으로 오름차순이고, ascending=False는 내림차순입니다. 1. Code: DataFrame 정렬 import pandas as pd # 데이터 생성 data = { 'Car': ['Corolla', 'Civic', 'Accord', 'Sonata', 'Optima'], 'Manufacturer': ['Toyota', 'Honda', 'Ho.. 2023. 6. 6.
[빅데이터분석기사 실기][작업형1] 상관관계 구하기 상관계수는 두 변수 간의 선형 관계의 강도와 방향을 측정하는 통계량입니다. 상관계수는 -1에서 1 사이의 값을 가지며, 값의 절대값이 클수록 강한 선형 관계를 나타냅니다. 상관계수가 1에 가까울수록 양의 선형 관계를, -1에 가까울수록 음의 선형 관계를 나타냅니다. 0에 가까울수록 선형 관계가 약하거나 없음을 의미합니다. 아래 코드에서 상관관계가 높은 변수를 찾을 때는 단순히 상관계수의 크고 작음이 아니라, 상관계수의 절대값을 기준으로 강한 상관관계를 가지는지 판단해야 합니다. import pandas as pd from sklearn.datasets import load_boston # Boston House Prices 데이터셋 로드 data = load_boston() df = pd.DataFram.. 2023. 5. 28.
[빅데이터분석기사 실기][작업형1] 표준화와 정규화 표준화(Standardization)와 정규화(Normalization)는 데이터 전처리 기법으로, 데이터를 일정한 기준에 맞추어 조정하는 방법입니다. 표준화(Standardization) 표준화는 데이터의 평균을 0으로, 표준편차를 1로 만들어 데이터를 정규분포(평균 0, 표준편차 1)에 맞게 변환하는 방법입니다. 표준화를 수행하면 데이터의 범위를 넓히거나 축소하지 않고, 데이터의 상대적인 위치를 파악할 수 있습니다. 주로 데이터가 정규분포를 따를 때 사용됩니다. 정규화(Normalization) 정규화는 데이터의 범위를 0과 1 사이로 변환하여 데이터의 상대적인 크기를 비교할 수 있도록 만드는 방법입니다. 정규화는 최소값과 최댓값을 이용하여 데이터를 변환하며, 최솟값은 0, 최댓값은 1이 되도록 스케.. 2023. 5. 27.
[빅데이터분석기사 실기][작업형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.
728x90