데이터로 Deep Dive

데이터 분석과 개발 경험을 공유합니다.

Python 27

DataFrame - 결측값 처리하기(삭제/대체)

결측값 삭제하기df.dropna()airbnb_df.dropna() # 결측값 삭제하기 결측값을 다른 값으로 채우기df.fillna() airbnb_df['rating'].mean() # 1 - 'rating'컬럼의 평균값 확인rating_mean = airbnb_df['rating'].mean() # 2 - 1의 값을 rating_mean변수에 저장airbnb_df['rating'].fillna(rating_mean) # 3 - 결측값을 2의 값으로 채움 예제)효준이는 새로운 스마트폰을 구입하기 위해 애플과 삼성의 스마트폰 데이터를 수집했습니다. 그런데 실수로 특정 모델의 무게를 입력하는 것을 깜빡했다고 하는데요. 다행히 한 가지 모델만 누락되어 있고, 모델명이 같으면 용량이나 색상과 관계없이 무게가 ..

Python 2024.08.03

DateFrame - 결측값 찾기

Garbage in, Garbage out쓰레기를 넣으면, 쓰레기가 나온다 데이터의 퀄리티가 좋지 않다면, 의미있는 분석 결과를 얻기 어렵다. 이를 위해 원본 데이터를 분석하기 용이하게 다듬는 과정을 거치게 되는데, 이를 '데이터 전처리'라고 한다. df.info() airbnb_df.info() # 결측값을 제외한 데이터 수를 확인할 수 있음df.isna()airbnb_df.isna() # 데이터 프레임에서 결측값이면 True, 결측값이 아니면 False값을 출력함df.isna().sum()airbnb_df.isna().sum() # 컬럼별로 결측값의 개수가 계산됨(True=1, False=0)df.any()airbnb_df.insa().any(axis=1) # .any() 데이터프레임의 각 요소를 차..

Python 2024.08.03

DataFrame - drop() 함수로 데이터 삭제하기(feat.axis)

drop() 함수는 Pandas 라이브러리에서 데이터프레임이나 시리즈에서 특정 행이나 열을 삭제할 때 사용되는 메서드다. 주로 데이터 분석을 할 때 필요 없는 데이터나 특정 기준으로 데이터를 정리하고 싶을 때 유용하다.  로우를 삭제할 때는 함수 안에 바로 삭제할 로우의 인덱스 값을 넣어 주면 되고, 컬럼을 삭제할 때는 columns라는 파라미터를 사용해서 삭제할 컬럼의 이름을 넣어 주면 된다.# married 컬럼 삭제하기loan_df.drop(columns='married') import pandas as pd# 데이터프레임 생성df = pd.DataFrame({ '이름': ['철수', '영희', '민수', '지영'], '수학': [85, 92, 70, 88], '영어': [78, 8..

Python 2024.08.02

DataFrame - query() 함수 사용하기

query() 함수는 데이터 분석 라이브러리인 Pandas에서'DataFrame.query().' 메서드를 사용해 특정 조건을 만족하는 데이터를 쉽게 추출할 수 있다. 기본 사용법 - 불린 인덱싱하기query() 함수는 문자열로 표현된 조건식을 받아, 그 조건을 만족하는 데이터프레임의 행을 반환한다. 이는 SQL의 'SELECT ... WHERE...' 절과 유사하게 동작한다. 또, query() 함수를 사용한다면 보다 간결한 코드로 DataFrame에서 불린 인덱싱을 할 수 있다.내부적인 작동 방식은 대괄호를 사용하여 불린 인덱싱을 하는 것과 거의 동일하지만, 데이터가 많은 경우 query() 함수를 쓴다면 속도가 조금 느려질 수 있다.# 대출 신청자의 수입이 5,000 이상이다' 라는 조건식을 불린 ..

Python 2024.08.02

DataFrame - csv, 엑셀(xls) 파일을 DataFrame으로 불러오기 / 내보내기

엑셀(xls) 파일을 DataFrame으로 불러오기주로 csv 파일을 사용하지만xls도 사용하는 경우가 있으므로 정리하기로 함 df = pd.read_excel('data/df.xlsx', sheet_name=1, header=3, usecols='B:H') # df 이름으로 된 xlsx 파일을 불러와서 df라는 이름으로 저장함# sheet_name=1: xls파일에서 Sheet2의 파일을 불러와야 하므로 '1'을 넣어줌(0부터 시작하므로)# xls 파일의 Sheet2에선 header가 네 번째 줄부터 시작하므로, header=3 을 넣어줌# usecols라는 파라미터를 이용해 몇 번째 열부터 시작하는지 알려줌CSV 파일로 내보내기pandas의 to_csv() 함수를 사용하면 DataFrame을 CSV ..

Python 2024.08.02

describe() vs describe - 괄호가 붙는 '함수'와 붙지 않는 '변수'

pandas에서 함수를 사용할 때, 뒤에 괄호가 붙는 경우가 있고 붙지 않는 경우를 볼 수 있다.  가령 head(), infio(), sort_values()에는 괄호를 붙이는데, dtypes, shape 뒤에는 괄호를 붙이지 않는다.  처음엔 무지하게 헷갈림... 그냥 그런 명령어겠거니 생각하고 넘어갔는데, codeit 듣다가 정리된 글을 발견함 ㄷㄷ 뒤에 괄호가 붙는 건 DataFrame에 동작하는 '함수' 괄호가 붙지 않는 건 DataFrame의 정보를 담고 있는 '변수'   예를 들면, df.describe()는 통계값을 계산하는 describe()라는 함수를 df라는 DataFrame에 적용하는 코드라고 볼 수 있고,  df.shape는 DataFrame의 크기 정보가 저장되어 있는 변수를 가..

Python 2024.08.02

pandas와 DataFrame

판다스란?파이썬에서 데이터 처리를 위해 존재하는 가장 인기 있는 라이브러리고수준 API 제공파이썬의 리스트, 컬렉션, 넘파이 등의 내부 데이터 외에도 CSV등의 파일을 쉽게 DataFrame으로 변경해 데이터의 가공/분석을 편리하게 수행할 수 있도록 함 핵심 객체 -> DataFrameDataFrame: Index를 key값으로 가지며  행x열 로 이뤄진 2차원 데이터를 담은 데이터 구조체, 여러개의 Series로 이뤄져있음 eg. DataFrame 생성 - 아래와 같이 딕셔너리를 넣을 수도 있고, 리스트나 NumPy array를 넣을 수도 있음dict_df = pd.DataFrame({ 'category': ['skirt', 'sweater', 'coat', 'jeans'], 'quantit..

Python 2024.07.31

Matplotlib 개념 및 간단 예제

Matplotlib이란?: 파이썬의 데이터 시각화 라이브러리로 다양한 종류의 시각화를 지원하며 데이터 분석과 시각화 작업에서 널리 사용된다. 주요 특징다양한 플롯 유형: 선 그래프, 막대 그래프, 산점도, 히스토그램, 파이 차트 등 여러 가지 플롯을 만들 수 있습니다.강력한 커스터마이징: 색상, 스타일, 레이블, 제목 등 그래프의 모든 요소를 세밀하게 조정할 수 있습니다.인터랙티브: Jupyter Notebook과 같은 환경에서 인터랙티브한 플롯을 만들 수 있습니다.출력 포맷: 플롯을 PNG, PDF, SVG 등 다양한 포맷으로 저장할 수 있습니다.통합: NumPy, Pandas, SciPy와 같은 다른 파이썬 라이브러리와 잘 통합됩니다.기본 함수figure() 함수의 figsize 파리미터로 그래프 ..

Python 2024.07.30

Numpy 개념과 특징

Numpy: 파이썬 라이브러리로써, Numerical Python 의 줄임말로 수치적인 연산에 최적화된 파이썬 도구이다.  Numpy Array: 자료형, Python List와 유사함, 간결한 코드로 구현, 메모리 및 연산 최적화장점루프를 사용하지 않고 대량 데이터의 배열 연산이 가능 -> 빠른 배열 연산 속도C/C++ 등의 저수준 언어 기반 호환 API제공 -> 기존 C/C++ 기반 외부 프로그램과 호환 용이단점가독성이 떨어짐정보에 대한 레이블 삽입 불가한 가지 데이터 타입만 사용 가능다양한 API 지원 측면이 어려움 import numpy as np # 'as np' 를 약어로 추가하여 모듈을 표현하는 것이 관례ndarray란?: 넘파이 기반 데이터 타입이며, ndarry를 이용해 넘파이에서 다차원..

Python 2024.07.29

def() 함수를 더 간결하게 작성할 수 없을까? '람다(lambda)'

처음에 람다(lambda) 함수를 들었을 때, 이름부터 생소해서 굳이 사용하지 않고 있었는데이번 강의 중에 람다(lambda) 함수를 배우면서이렇게...간단하게 함수를 작성할 수 있구나를 알게 되면서적극 익히려고 하고 있음 그래서 람다(lambda) 함수란? (*파이썬 공식 문서: Python Lambdas)lambda_expr ::=  "lambda" [parameter_list] ":" expression람다(lambda) 표현식(람다 폼이라고도 함)은 익명 함수를 만드는 데 사용됩니다. 표현식은 함수 객체를 생성합니다. 명명되지 않은 객체는 다음으로 정의된 함수 객체처럼 동작합니다.def (parameters):    return expression매개변수 목록의 구문은 함수 정의 섹션을 참조하세..

Python 2024.07.11