TIL(Today I Learned)

[2024/12/31]내일배움캠프 QA/QC 1기 - 11일차

essay2892 2024. 12. 31. 20:30

전처리/시각화 주차

 

데이터 분석 전처리 - GIGO

Garbage In Garbage Out 

 

 

아티클 스터디 진행(https://essay2892.tistory.com/36)

 

세션 1회차 숙제 진행(https://essay2892.tistory.com/38)


 

데이터 전처리 & 시각화 1, 2주차

VS Code 설치, 확장프로그램(주피터, 파이썬, 라이브 서버) 설치

 

데이터 전처리 & 시각화 3주차

'pip'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 오류 발생

고급 시스템 설정 보기 - 환경 변수 - '사용자'에 대한 사용자 변수 - Path - 편집 - 새로만들기 - 파이썬 Scripts 폴더와 파이썬 폴더 경로 각각 추가하기

더보기

.head() - 데이터를 N개 행까지 보여줌

.Info() - 데이터의 정보를 파악(인덱스, 컬럼명, 컬럼의 데이터 개수, 데이터 타입)

.describe() - 데이터의 기초통계량을 확인(개수, 평균, 표준편차, 사분위, 중앙값)  # 숫자값

 

# 결측치 확인 : isnull()
df.isnull().sum() # 이렇게하면 결측치가 몇개있는지도 알 수 있어요 !

# 결측치 제거 : dropna()
df.dropna()

 

# 중복 데이터 확인
df.duplicated(subset=['컬럼1', '컬럼2', '컬럼3'])

# 중복 데이터 제거
df.drop_duplicates(subset=['컬럼1', '컬럼2', '컬럼3'])

 

# IQR (Interquartile Range) 방법 찾아보기
# 참고 : https://www.scribbr.com/statistics/interquartile-range/

# IQR 계산
Q1 = df['컬럼1'].quantile(0.25)
Q3 = df['컬럼1'].quantile(0.75)
IQR = Q3 - Q1

# 이상치 기준 설정
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR

# 이상치 제거
df[(df['컬럼1'] >= lower_bound) & (df['컬럼1'] <= upper_bound)]

 

DataFrame['column_name'] = DataFrame['column_name'].astype(new_dtype)

더보기
df = pd.DataFrame({
     "A" : [1,2,3],
     "B" : ['a', 'b', 'c']
}, index = ['idx1', 'idx2', 'idx3'])
df

#

 

df = pd.DataFrame({
    'A': [1,2,3,4,5],
    'B': [10,20,30,40,50],
    'C': [100,200,300,400,500]
})
df

#

 

df.iloc[0:4:2]

#

 

df.iloc[0, :]

#

 

df = pd.DataFrame({
    'A': [1,2,3,4,5],
    'B': [10,20,30,40,50],
    'C': [100,200,300,400,500]
}, index=['a','b','c','d','e'])
df

#

 

df.iloc[:,0]

#

 

df.loc[:,'A']

#

 

df.loc['b',:]

#

 

df.loc['b':'d','A':'B']

#

 

iloc는 stop에 해당하는 값 나오지 않음

loc는 stop에 해당하는 값까지 포함하여 출력