자바만 열심히 파던 내가 어쩌다보니 파이썬을 사용해 데이터 파싱/분석을 해야할 일이 생겨서
천천히 공부 중인 판다스.
나처럼 갑자기 구명조끼 하나없이 냅다 데이터의 바다에 던져 질 사람들을 위해 판다스가 뭔지부터 정리해본다.
판다스(Pandas)?
파이썬에서 데이터 조작이나 분석을 위한 라이러리 중 하나로, 특히 표 형태의 데이터를 다루는데 유용한 라이브러리이며,
데이터를 구조화하고 처리하는데 사용된다.
판다스(Pandas)는 데이터 과학 및 머신러닝 분야에서 널리 사용되고 있고 데이터의 전처리부터
분석이나 모델링, 데이터 조작, 정제, 분석, 시각화 등이 가능하도록 다양한 기능을 제공한다.
판다스(Pandas)는 데이터프레임(DataFrame)과 시리즈(Serise)라는 두 가지의 주요 자료구조를 제공하여 데이터를 처리한다.
판다스(Pandas)의 주요기능과 특징
앞서 설명한 데이터 전처리 포함 다양한 기능을 제공하는 판다스의 주요 기능과 특징은 이렇다.
1) 데이터 로딩 : CSV, Excel, SQL 데이터베이스, JSON 등 다양한 형식의 데이터를 불러올 수 있다.
2) 데이터 조작: 데이터프레임과 시리즈를 활용하여 데이터를 조작하고 변형할 수 있는데,
예를 들어, 열 선택, 행 선택, 데이터 추가, 삭제, 수정 등이 가능하다.
3) 데이터 필터링: 특정 조건에 맞는 데이터만 선택하여 추출이 가능하다.
4) 데이터 그룹화와 집계: 특정 열을 기준으로 데이터를 그룹화하고 그룹별 집계 함수를 적용할 수 있다.
5) 데이터 결합: 두 개 이상의 데이터프레임을 합치거나 결합할 수 있다.
6) 결측치 처리: 누락된 데이터나 결측치를 처리하고 채울 수 있는 다양한 방법을 제공한다.
7) 데이터 시각화: 데이터를 시각화하여 그래프나 차트로 표현할 수 있는 기능을 제공한다.
이 모든 기능을 사용하는 방법은 내가 써보면서 하나씩 올려보려고 한다.
판다스(Pandas)의 데이터 구조
앞서 판다스에서는 두 가지의 주요 자료구조를 제공한다고 했다.
Pandas Series(1차원)/Pandas DataFrame(2차원)
먼저 DataFrame 객체.
DataFrame 객체는 행과 열로 이루어진 표 형태의 데이터 구조이며,
2차원 데이터를 다루기 위한 객체로 열은 각각의 변수를 나타내고 행은 각각의 관측치를 나타낸다.
예를 들어 데이터베이스의 테이블 또는 엑셀/스프레드시트와 유사한 구조라고 이해하면 편하다.
#판다스 라이브러리를 임포트, 판다스의 모든 기능을 사용가능
import pandas as pd
# 예시 데이터 생성
data = {
'이름': ['철수', '영희', '민수', '수영'],
'나이': [25, 30, 35, 40],
'성별': ['남', '여', '남', '여']
}
# 데이터프레임 생성
df = pd.DataFrame(data)
print("DataFrame:")
print(df)
# '이름' 열 선택 (시리즈)
names = df['이름']
print("\nSeries - '이름' 열:")
print(names)
# 첫 번째 행 선택
first_row = df.loc[0]
print("\n첫 번째 행:")
print(first_row)
# 첫 번째부터 세 번째까지의 행 선택
subset = df.loc[0:2]
print("\n첫 번째부터 세 번째까지의 행:")
print(subset)
위 예시를 한 줄 씩 설명해보자면,
먼저 사용할 데이터를 data라는 이름을 가진 딕셔너리 형태로 저장하며, 데이터 프레임을 생성할 때 사용이 된다.
만약 예시처럼 직접 데이터를 저장하지 않고 쿼리를 사용해 DB에서 데이터를 받아올 때도 당연히 딕셔너리 형태로 받아오게 된다.
이유는? DB도 행과 열로 이루어진 키-값의 구조를 가지니까!
data라는 딕셔너리를 df = pd.DataFrame(data) 를 사용하여 데이터프레임을 생성한다.
이 때 생성되는 데이터프레임이 아까 설명한 행과 열의 2차원 형태(표)로 데이터를 저장하는 구조이다.
특정 열에 데이터를 추출하기 위해 names = df['이름'] 데이터프레임에서 '이름' 열을 선택하여
시리즈 형태로 저장하는데, 이렇게 하면 해당 열의 데이터를 추출할 수 있다.
first_row = df.loc[0]
데이터 프레임에서 첫 행을 선택하여 시리즈 형태로 저장하고 loc[]를 사용하여 행을 선택해주고
subset = df.loc[0:2]
데이터프레임에서 첫 번째부터 세 번째까지의 행을 선택하여 데이터프레임 형태로 저장해주면
DataFrame:
이름 나이 성별
0 철수 25 남
1 영희 30 여
2 민수 35 남
3 수영 40 여
Series - '이름' 열:
0 철수
1 영희
2 민수
3 수영
Name: 이름, dtype: object
첫 번째 행:
이름 철수
나이 25
성별 남
Name: 0, dtype: object
첫 번째부터 세 번째까지의 행:
이름 나이 성별
0 철수 25 남
1 영희 30 여
2 민수 35 남
이런 결과값을 얻을 수 있다.
다음은 Series객체.
인덱스와 값으로 이루어져 일련의 데이터를 나타내는 1차원 배열 형태의 자료 구조로,
각 데이터에는 인덱스가 있어 해당 데이터를 식별하고 DataFrame 객체에서 열을 선택하여 추출할 수 있다.
# '이름' 열 선택 (시리즈)
names = df['이름']
print("\nSeries - '이름' 열:")
print(names)
# '나이' 열 선택 (시리즈)
ages = df['나이']
print("\nSeries - '나이' 열:")
print(ages)
# '성별' 열 선택 (시리즈)
genders = df['성별']
print("\nSeries - '성별' 열:")
print(genders)
아까와 같은 코드에서 이름 열만 선택했듯
모든 데이터 키값을 해당 열들만 추출해보는 코드로 변경한다면
Series - '이름' 열:
0 철수
1 영희
2 민수
3 수영
Name: 이름, dtype: object
Series - '나이' 열:
0 25
1 30
2 35
3 40
Name: 나이, dtype: int64
Series - '성별' 열:
0 남
1 여
2 남
3 여
Name: 성별, dtype: object
이런 결과값을 얻을 수 있을 것이다.
이름 열은 이름만, 나이 열은 나이만, 성별 열은 성별만 추출된다.
판다스(Pandas) 설치방법
판다스에 대한 개념정리를 했으니 마지막으로 설치방법!
1. 파이썬 설치 및 파이썬에 대한 환경변수를 설정해준다.
이건 파이썬을 사용하고 있다면 패스!
2. 터미널 또는 cmd에서 pip를 이용해 손쉽게 설치!
pip install pandas
3. 판다스 사용 전 import
import pandas as pd
이 때 as pd 는 SQL에서 정해지는 별칭과 동일한 개념으로
pandas 라이브러리를 사용할 때 매번 귀찮게 pandas를 사용하는 대신 pd로 사용한다는 의미이다.
예를 들면 pandas.DataFrame을 pd.DataFrame이라고 간편하게 사용할 수 있게 된다.
기본 개념과 설치가 끝났다면!
간단한 사용법은 내가 사용하면서 시간날 때마다 차근차근히 들고와보겠다.
'✨Framework+Library > 🐼PANDAS' 카테고리의 다른 글
[🐼Pandas] csv/xlsx/SQL 데이터 다루기 (0) | 2024.03.28 |
---|---|
[🐼Pandas] Data 객체 데이터 다루기 (0) | 2024.03.28 |