문과생의 파이썬

[Pandas] 데이터 불러오기, 데이터 확인하기

DorYi 2024. 7. 22. 19:11

1. Pandas 란

파이썬에서 데이터를 조작하고 분석할 수 있게 도와주는 라이브러리

(라이브러리 : 자주 사용되는 프로그램들을 모아 놓은 곳)

 

- 대용량 데이터 처리 가능

- 데이터 조작 가능

- 데이터 시각화 기능 제공 (ex. seaborn, matplotlib...)

- 데이터 구조화, 분석 가능

 

2. pandas 구조 (series, dataframe)

*노랑색은 인덱스  파랑색은 컬럼

 

3. 데이터 불러오기

데이터 불러오는 방법 : 파일경로/파일명.확장자

#엑셀 불러오기
pd.read_excel('파일 경로')

#csv파일 불러오기
pd.read_csv('파일 경로')

*파일 경로 찾는 방법 : pwd 명령어 입력

 

인덱스 : dataframe, series의 각 행 또는 요소에 대한 식별자

 

- 고유성 : 각 행은 중복된 인덱스 값을 가질 수 없음

- 불변성 : 한 번 생성된 인덱스는 변경할 수 없음 (새로운 값 할당해 대체는 가능)

- 조작 및 담색 : dataframe, series 특정 행을 선택하거나 탐색 가능

- 정렬 : 인덱스를 기준으로 dataframe, series 행 정렬 가능

 

 

*인덱스 설정/ 변경 방법

import pandas as pd

# 사용자가 직접 인덱스를 설정한 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']}, index=['idx1', 'idx2', 'idx3'])

# 인덱스 변경 (대체)
df.index = ['new_idx1', 'new_idx2', 'new_idx3']

print(df)

인덱스 변경 전

 

인덱스 변경 후

 

컬럼 : dataframe의 열 또는 변수

 

- 고유한 이름을 가지고 있음

- 특정 종류의 데이터를 담고 숫자, 문자열, 날짜 등의 데이터 유형을 포함

- series 객체로 구성/ 동일한 데이터 유형을 가진 1차열 배열과 유사함

- dataframe의 일부

 

 

*dataframe 생성 방법

import pandas as pd

# 데이터프레임 생성
data = {
    '이름': ['Alice', 'Bob', 'Charlie'],
    '나이': [25, 30, 35],
    '성별': ['여', '남', '남']
}

df = pd.DataFrame(data)

# 각 컬럼 출력
print(df['이름'])  # '이름' 컬럼 출력
print(df['나이'])  # '나이' 컬럼 출력
print(df['성별'])  # '성별' 컬럼 출력

출력된 컬럼

*컬럼명 변경 df.columns = ['컬럼명1', '컬럼명2', 컬럼명3' ...]

  특정 컬럼만 변경 시 df.rename(columns={})

rename을 활용한 컬럼명 변경

 

4. 데이터 확인

데이터가 잘 들어왔는지 확인할 수 있는 메소드

.head : 데이터를 n개 행까지 보여줌

data.head()

data.head(n)

 

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

data.info() *null값 확인할 때도 사용한다!

 

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

data.describe() *숫자값만 가능

 

데이터 결측치(null) 확인 방법

결측치 확인 : df.isnull().sum()

결측치 삭제 : df.dropna()

 

중복 데이터 제거 방법

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

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

 

이상치 처리 (이상치: 유달리 높거나 낮은 값)

 

데이터 타입 변경 .astype

df['컬럼명'].astype(int/float/str/bool/ etc)

 

데이터 타입

데이터 타입 설명 예시
int64, int32 정수형 데이터 (64bit, 32bit) 1, 34, -12
float64, float32 부동 소수점 수 3.14, -0.003
object 문자열 데이터 'hello'
bool 불리언(true/false) 데이터 True, False
datetime64 시간 간격
두 날짜 또는 시간 사이의 차이
'2023-12-31 08:00:00'
category 카테고리형 데이터