- 작업형1에서 자주 사용하는 라이브러리: 판다스
- 작업형2에서 자주 사용하는 라이브러리: 판다스+사이킷런
- 작업형3에서 자주 사용하는 라이브러리: statsmodels+SciPy+넘파이
1. 시리즈(Series)와 데이터프레임(DataFrame)
판다스에서 열(컬럼)이 하나만 있을 경우 시리즈(Series)라고 하고,
이 시리즈(=열(컬럼))가 여러 개 모인 것을 데이터프레임(DataFrame)이라고 한다.
# 시리즈 만들기 (문자열)
menu = pd.Series(['비빔밥', '김치찌개', '된장찌개'])
menu
# 시리즈 만들기(정수형)
numbers = pd.Series([1,2,3,4,5])
numbers
시리즈를 만들 때는 pd.Series(['변수들',...,'변수들']) 문법을 사용한다.
# 데이터 프레임 만들기 pd.DataFrame({"컬럼명":데이터})
df = pd.DataFrame({
"메뉴":['비빔밥', '김치찌개', '된장찌개'],
"가격":[10000, 9000, 8000],
"원산지":['국내산', '국내산', '국내산']
})
df
데이터프레임을 만들 때는 pd.DataFrame({"컬럼명": 데이터, "컬럼명":데이터, ..})
# 시리즈 선택 (메뉴)
df["메뉴"]
# 데이터프레임 선택 (메뉴)
df[["메뉴"]]
시리즈(컬럼)를 선택하고 싶을 땐, 데이터프레임["컬럼명"]을 지정해주면 된다.(대괄호 1번)
단, 컬럼 1개짜리 데이터프레임을 선택하고 싶을 땐, 데이터프레임[["컬럼명"]]을 지정해준다.(대괄호 2번)
# 데이터프레임 선택 (메뉴, 가격)
df[["메뉴","가격"]]
# 데이터프레임 선택 (메뉴, 가격)
cols = ["메뉴", "가격"]
df[cols]
데이터프레임 선택할 때는 대괄호 2개니까, 컬럼 2개인 데이터프레임을 선택하고 싶을 땐 데이터프레임[["컬럼1", "컬럼2"]] 사용한다.
cols라는 변수에 ["메뉴","가격"] 을 넣은 다음, 데이터프레임에 변수를 넣어서 사용할 수도 있다. (이걸 더 많이 사용)
# 데이터 프레임 type 확인
print("df : ", type(df))
print("df['가격'] : ", type(df['가격']))
print("df[['가격']] : ", type(df[['가격']]))
df : <class 'pandas.core.frame.DataFrame'>
df['가격'] : <class 'pandas.core.series.Series'>
df[['가격']] : <class 'pandas.core.frame.DataFrame'>
2. 데이터 저장 및 불러오기
# 데이터 불러오기
df.to_csv('cafe.csv', index=False)
df = pd.read_csv('cafe.csv')
df
데이터를 csv 파일로 저장할 때는 데이터프레임.to_csv('저장할 csv이름', index=False)로 저장한다.
index를 False로 지정하지 않으면 unnamed라는 index가 csv 파일에 새로 생기게 된다.
csv파일을 불러올 때에는 pd.read_csv('csv파일명') 으로 불러온다.
3. 탐색적 데이터 분석(EDA)
# 데이터 샘플 확인: 앞에서 부터 n개 (기본 5개)
df.head(2)
# 데이터 샘플 확인: 뒤에서 부터 n개 (기본 5개)
df.tail(3)
# sample(랜덤)
df.sample(3)
# 데이터 프레임 크기 (행, 컬럼)
df.shape
# 컬럼 형태(type)
df.info()
# 상관관계
df.corr(numeric_only=True)
# 중복 값이 있는 데이터 생성
df_car = pd.DataFrame({
"car":['Sedan','SUV','Sedan','SUV','SUV','SUV','Sedan','Sedan','Sedan','Sedan','Sedan'],
"size":['S','M','S','S','M','M','L','S','S', 'M','S']
})
df_car.head(3)
# 항목 종류 수
df_car.nunique()
중복값이 있는 데이터프레임에 nunique()를 적용하면, car 2 size 3이 나온다. (중복되지 않는 유니크한 값의 개수를 반환)
# 항목 종류
print(df_car['car'].unique())
print(df_car['size'].unique())
# 항목별 개수
print(df_car['car'].value_counts())
print(df_car['size'].value_counts())
항목 종류를 반환하기 위해선 데이터프레임[컬럼명].unique() 사용해준다. (['Sedan', 'SUV'] ['S','M','L']이 출력된다.)
# 기초 통계 (숫자)
df.describe()
# 기초 통계 (문자)
df_car.describe(include=['object'])
'Data > 빅데이터분석기사' 카테고리의 다른 글
[빅데이터분석기사] 판다스6 - 시계열 데이터1 (0) | 2025.06.11 |
---|---|
[빅데이터분석기사] 판다스5 - 그룹핑, 병합, 피벗테이블 (1) | 2025.06.10 |
[빅데이터분석기사] 판다스4 - 문자열, 내장함수 (1) | 2025.06.10 |
[빅데이터분석기사] 판다스3 - 추가/변경, 정렬, 필터링, 결측치, 값 변경 (0) | 2025.06.09 |
[빅데이터분석기사] 판다스2 - 자료형, 컬럼, 삭제, 인덱싱/슬라이싱 (0) | 2025.05.28 |