코사장의 코딩 놀이터

머신러닝

Pandas (판다스) 라이브러리 in Python (파이썬)

코사장_ 2023. 5. 9. 19:22
반응형

1. 판다스(Pandas) 소개

 

판다스(Pandas)는 데이터 분석을 위한 파이썬 라이브러리로, 데이터 조작, 분석 및 시각화를 지원합니다. 판다스는 테이블 형태의 데이터를 처리하기 위해 만들어진 것으로, 간편하게 데이터를 읽고, 수정하고, 분석할 수 있도록 도와줍니다. 이 글에서는 판다스의 기본 개념, 자료형, 예제 및 분석 방법에 대해 소개합니다.

 

 

2. 판다스의 주요 자료형

 

판다스에서는 주로 두 가지 자료형을 사용합니다: 시리즈(Series)와 데이터프레임(DataFrame).

 

2.1. 시리즈(Series)

시리즈(Series)는 1차원 배열과 같은 자료형으로, 같은 데이터 타입의 값을 가집니다. 시리즈는 인덱스와 값이 함께 저장되며, 인덱스를 이용해 원하는 값에 빠르게 접근할 수 있습니다.

import pandas as pd

# 시리즈 생성 예제
data = [1, 2, 3, 4, 5]
series = pd.Series(data)
print(series)

2.2. 데이터프레임(DataFrame)

데이터프레임(DataFrame)은 2차원 테이블 형태의 자료형으로, 여러 개의 열(column)을 가질 수 있습니다. 각 열은 서로 다른 데이터 타입을 가질 수 있으며, 열과 행에 인덱스를 사용해 데이터에 접근할 수 있습니다.

import pandas as pd

# 데이터프레임 생성 예제
data = {
    'Name': ['John', 'Alice', 'Bob'],
    'Age': [25, 28, 22],
    'City': ['New York', 'Los Angeles', 'San Francisco']
}
df = pd.DataFrame(data)
print(df)

3. 판다스 데이터 불러오기 및 저장하기

 

판다스를 사용하면 다양한 파일 형식의 데이터를 불러올 수 있습니다. 가장 흔한 예로 CSV, Excel, JSON 등이 있습니다. 이러한 파일들을 판다스의 데이터프레임으로 불러오거나 저장할 수 있습니다.

 

3.1. 데이터 불러오기

# CSV 파일 불러오기
csv_data = pd.read_csv('example.csv')

# Excel 파일 불러오기
excel_data = pd.read_excel('example.xlsx')

# JSON 파일 불러오기
json_data = pd.read_json('example.json')

3.2. 데이터 저장하기

# 데이터프레임을 CSV 파일로 저장하기
df.to_csv('example.csv', index=False)

# 데이터프레임을 Excel 파일로 저장하기
df.to_excel('example.xlsx', index=False)

# 데이터프레임을 JSON 파일로 저장하기
df.to_json('example.json', orient='records')

 

4. 판다스를 사용한 데이터 처리

판다스를 이용하면 다양한 데이터 처리 작업을 수행할 수 있습니다. 다음은 몇 가지 기본적인 예시입니다.

 

4.1. 데이터 선택하기

# 열 선택하기
selected_columns = df[['Name', 'Age']]

# 행 선택하기
selected_rows = df.loc[1:3]

# 조건에 따른 행 선택하기
selected_rows_by_condition = df[df['Age'] > 25]

4.2. 데이터 정렬하기

# 열을 기준으로 오름차순 정렬하기
sorted_df = df.sort_values(by='Age')

# 열을 기준으로 내림차순 정렬하기
sorted_df_desc = df.sort_values(by='Age', ascending=False)

4.3. 결측치 처리하기

# 결측치 확인하기
missing_values = df.isnull()

# 결측치가 있는 행 삭제하기
df_no_missing = df.dropna()

# 결측치를 다른 값으로 채우기
df_filled = df.fillna(0)

4.4. 데이터 그룹화하기

# 열을 기준으로 데이터 그룹화하기
grouped_data = df.groupby('City')

5. 판다스를 사용할 때 주의할 점

판다스를 사용할 때 주의할 점이 몇 가지 있습니다.

 

5.1. 메모리 사용량

대량의 데이터를 처리할 때 판다스의 메모리 사용량이 매우 높아질 수 있습니다. 이러한 경우, 데이터를 일부만 로드하거나 다른 라이브러리를 사용하는 것이 좋습니다.

 

5.2. 데이터 복사와 뷰

판다스에서 일부 데이터를 선택하거나 조작할 때, 원본 데이터와 같은 메모리를 공유하는 뷰(view)를 생성할 수도 있고, 새로운 메모리에 복사된 데이터를 생성할 수도 있습니다. 이에 따라 원본 데이터에 영향을 미칠 수 있으므로 주의해야 합니다.

 

6. 추가적인 판다스 활용 방법

판다스의 기능은 여기서 소개한 것보다 훨씬 많습니다. 시각화, 피벗 테이블, 문자열 처리 등 다양한 기능을 제공하며, 많은 판다스 사용자들이 이러한 기능들을 활용하여 데이터 분석 작업을 수행합니다. 판다스에 익숙해지려면 공식 문서와 다양한 튜토리얼, 예제를 참고하며 계속 연습해보는 것이 좋습니다.

 

7. 시각화를 위한 판다스 활용

판다스는 데이터 시각화를 위해 matplotlib와 연동되는 기능을 제공합니다. 다음은 몇 가지 기본적인 시각화 예제입니다.

 

7.1. 선 그래프

import matplotlib.pyplot as plt

df.plot(x='Age', y='Score')
plt.show()

7.2. 막대 그래프

df.plot(kind='bar', x='Name', y='Score')
plt.show()

7.3. 히스토그램

df['Age'].plot(kind='hist')
plt.show()

8. 판다스와 피벗 테이블

판다스는 데이터를 정리하고 분석하기 위해 피벗 테이블(pivot table)을 생성하는 기능을 제공합니다. 피벗 테이블은 데이터의 요약 정보를 표시하는 데 유용합니다.

# 피벗 테이블 생성 예제
pivot_table = pd.pivot_table(df, values='Score', index=['City'], columns=['Name'], aggfunc=np.mean)

 

9. 문자열 처리를 위한 판다스 활용

판다스는 문자열 처리를 위한 다양한 함수를 제공합니다. 이를 통해 텍스트 데이터를 쉽게 처리할 수 있습니다.

 

9.1. 문자열 분리

# 문자열을 공백을 기준으로 분리하기
df['Name'].str.split(' ')

9.2. 문자열 대소문자 변환

# 문자열을 소문자로 변환하기
df['Name'].str.lower()

# 문자열을 대문자로 변환하기
df['Name'].str.upper()

9.3. 문자열 치환

# 문자열 내 특정 문자를 다른 문자로 치환하기
df['Name'].str.replace('John', 'Jack')

판다스를 사용하여 다양한 데이터 처리 작업을 수행할 수 있습니다. 이러한 기능들을 활용하여 데이터 분석 작업을 보다 효율적으로 진행할 수 있습니다. 기본 개념과 활용 방법을 익히고, 다양한 예제를 통해 실습해보면서 판다스에 익숙해져 보세요.

반응형