pandas 데이터 분석

Pandas를 활용한 데이터 분석

Pandas는 데이터 분석에 필수적인 라이브러리 중 하나입니다. 이 라이브러리는 다양한 데이터 형식을 처리하고 분석할 수 있는 툴을 제공하여 데이터 분석에 적합한 풍성한 환경을 제공합니다. 이번 포스팅에서는 Pandas를 활용한 데이터 분석에 대해 살펴보겠습니다.

Pandas란?

Pandas는 파이썬에서 사용하는 데이터 분석 라이브러리입니다. 이 라이브러리는 데이터 분석을 위해 다양한 기능을 제공하며, 특히 간단한 코드로 복잡한 데이터 구조를 다룰 수 있으므로 데이터 전처리 과정에서 많이 활용됩니다.

Pandas의 기본 구조

Pandas는 크게 두 가지 데이터 구조를 지원합니다. 하나는 시리즈(Series), 다른 하나는 데이터프레임(DataFrame)입니다.

시리즈(Series)

시리즈는 1차원 배열과 같은 구조를 가지고 있으며, 인덱스(index)와 값(value)으로 구성됩니다. 시리즈를 생성하는 방법은 다음과 같습니다.

“` python
import pandas as pd

s = pd.Series([1,2,3,4,5])
print(s)
“`

0 1
1 2
2 3
3 4
4 5
dtype: int64

데이터프레임(DataFrame)

데이터프레임은 2차원 배열과 같은 구조를 가지며, 여러 개의 시리즈를 모아서 만들 수 있습니다. 시리즈와 비슷하게 각 열(column)에는 인덱스와 값이 함께 존재하며, 열마다 데이터 타입이 다를 수 있습니다. 데이터프레임을 생성하는 방법은 다음과 같습니다.

“` python
import pandas as pd

data = {
“name”: [“Alice”, “Bob”, “Charlie”],
“age”: [20, 25, 30],
“nationality”: [“US”, “UK”, “CA”]
}

df = pd.DataFrame(data)
print(df)
“`

name age nationality
0 Alice 20 US
1 Bob 25 UK
2 Charlie 30 CA

데이터 불러오기

Pandas는 다양한 데이터 형식을 지원합니다. CSV, Excel, SQL 데이터베이스, JSON 등의 데이터 형식을 Pandas에서 지원하며, 인터넷에서 데이터를 로드하는 기능도 제공합니다.

CSV 파일 불러오기

“` python
import pandas as pd

df = pd.read_csv(“data.csv”, encoding=”utf-8″)
print(df)
“`

Excel 파일 불러오기

“` python
import pandas as pd

df = pd.read_excel(“data.xlsx”)
print(df)
“`

SQL 데이터베이스 불러오기

“` python
import pandas as pd
import sqlite3

conn = sqlite3.connect(“database.db”)
query = “SELECT * FROM data”
df = pd.read_sql(query, conn)
print(df)
“`

JSON 파일 불러오기

“` python
import pandas as pd

df = pd.read_json(“data.json”)
print(df)
“`

데이터 전처리

Pandas는 데이터 분석에 필수적인 데이터 전처리 기능을 제공합니다. 이를 활용하여 데이터를 필요한 형태로 가공할 수 있습니다.

결측치 처리

결측치는 데이터 분석에서 가장 골치 아픈 부분 중 하나입니다. Pandas는 이러한 결측치를 처리하는 다양한 기능을 제공합니다.

“` python
import pandas as pd
import numpy as np

df = pd.DataFrame({
“A”: [1, 2, np.nan],
“B”: [3, np.nan, 5],
“C”: [6, 7, 8]
})

결측치를 0으로 대체

df.fillna(0, inplace=True)
print(df)

결측치를 평균값으로 대체

df.fillna(df.mean(), inplace=True)
print(df)
“`

중복 데이터 처리

동일한 데이터가 중복되어 존재하는 경우, 그 데이터를 하나로 축소하는 작업이 필요합니다. Pandas는 이러한 중복 데이터를 처리하는 기능을 제공합니다.

“` python
import pandas as pd

df = pd.DataFrame({
“A”: [1, 2, 2, 3],
“B”: [4, 5, 5, 6]
})

중복 데이터 제거

df.drop_duplicates(inplace=True)
print(df)
“`

이상치 처리

이상치는 데이터 분석에서 중요한 이슈 중 하나입니다. Pandas는 데이터에서 이상치를 처리하는 기능을 제공합니다.

“` python
import pandas as pd

df = pd.DataFrame({
“A”: [1, 2, 3, 4, 5],
“B”: [2, 4, 6, 8, 100]
})

이상치 제거

df = df[df[“B”]!=100]
print(df)
“`

데이터 시각화

Pandas는 데이터 시각화를 위한 다양한 기능을 제공합니다. 이를 활용하여 데이터를 시각화하고 통계적으로 살펴볼 수 있습니다.

“` python
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
“year”: [2010, 2011, 2012, 2013, 2014],
“sales”: [10, 12, 15, 13, 17]
})

라인 차트

df.plot(x=”year”, y=”sales”)
plt.show()

막대 차트

df.plot.bar(x=”year”, y=”sales”)
plt.show()

파이 차트

df.plot.pie(labels=df[“year”], y=”sales”)
plt.show()
“`

결론

Pandas는 데이터 분석에 필수적인 라이브러리 중 하나입니다. 이를 활용하여 다양한 데이터를 분석하고 시각화할 수 있습니다. 데이터 전처리부터 시각화까지 다양한 작업을 간편하게 수행할 수 있으므로, 데이터 분석 작업에 Pandas를 활용하는 것은 매우 유용합니다.