본문 바로가기
■ 칼퇴를 위한 파이썬 : 사례

파이썬으로 데이터 분석하기: Pandas 고급 기능

by 포탈메이커 2023. 7. 13.

파이썬으로 데이터 분석하기: Pandas 고급 기능

파이썬은 데이터 분석 작업을 위한 다양한 라이브러리를 제공하여, 효과적이고 효율적인 데이터 처리를 가능하게 합니다. 이 중에서도 Pandas는 데이터 분석에 있어 가장 많이 사용되는 라이브러리 중 하나입니다. Pandas는 데이터를 구조화하고 가공할 수 있는 강력한 기능을 제공하여, 데이터 분석 작업의 생산성을 높여주며, 다양한 형태의 데이터를 손쉽게 처리할 수 있습니다. 이번 포스팅에서는 Pandas의 고급 기능에 대해 소개하겠습니다.

1. 널 값 처리하기

실제 데이터에서는 일부 데이터가 비어 있는 경우가 있을 수 있습니다. 이러한 경우를 널(null) 값이라고 하며, 데이터 분석 작업을 할 때 이러한 널 값들을 처리해야 합니다. Pandas에서는 isnull() 함수를 사용하여 널 값 여부를 확인하고, fillna() 함수를 사용하여 널 값에 대해 적절한 값을 할당할 수 있습니다. 이를 통해 데이터의 빈 공간을 채우거나, 널 값을 가진 행을 제거할 수 있습니다.

```python import pandas as pd

데이터프레임 생성

data = {'A': [1, 2, None, 4], 'B': [5, None, 7, 8], 'C': [9, 10, 11, None]} df = pd.DataFrame(data)

널 값 확인

print(df.isnull())

널 값 채우기

dffilled = df.fillna(0) print(dffilled)

널 값을 가진 행 제거

dfdropped = df.dropna() print(dfdropped) ```

2. 그룹화하기

데이터 분석 작업에서는 데이터를 그룹화하여 통계 정보를 얻는 경우가 많습니다. Pandas에서는 groupby() 함수를 사용하여 데이터를 그룹화할 수 있습니다. 이를 통해 그룹별로 평균, 합계, 개수 등의 통계 정보를 계산할 수 있습니다.

```python import pandas as pd

데이터프레임 생성

data = {'Name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'], 'Age': [25, 30, 35, 40, 45], 'Score': [80, 85, 90, 95, 100]} df = pd.DataFrame(data)

이름별 평균 점수 계산

meanscorebyname = df.groupby('Name')['Score'].mean() print(meanscorebyname)

이름별 평균 나이 계산

meanagebyname = df.groupby('Name')['Age'].mean() print(meanagebyname) ```

3. 정렬하기

데이터를 분석할 때, 데이터의 특정 열을 기준으로 정렬하는 경우가 많습니다. Pandas에서는 sort_values() 함수를 사용하여 데이터를 정렬할 수 있습니다. 이를 통해 데이터를 오름차순이나 내림차순으로 정렬할 수 있습니다.

```python import pandas as pd

데이터프레임 생성

data = {'Name': ['Alice', 'Bob', 'Charlie', 'Dave', 'Eve'], 'Age': [25, 30, 35, 40, 45], 'Score': [80, 85, 90, 95, 100]} df = pd.DataFrame(data)

이름으로 오름차순 정렬

dfsorted = df.sortvalues('Name', ascending=True) print(df_sorted)

나이로 내림차순 정렬

dfsorted = df.sortvalues('Age', ascending=False) print(df_sorted) ```

4. 데이터 합치기

실제 데이터 분석 작업에서는 여러 개의 데이터를 합치는 경우가 많습니다. Pandas에서는 merge() 함수를 사용하여 데이터를 합칠 수 있습니다. 이를 통해 공통 열을 기준으로 데이터를 병합하거나, 열 이름을 기준으로 데이터를 결합할 수 있습니다.

```python import pandas as pd

데이터프레임 생성

data1 = {'Name': ['Alice', 'Bob', 'Charlie'], 'Score1': [80, 85, 90]} df1 = pd.DataFrame(data1)

data2 = {'Name': ['Charlie', 'Dave', 'Eve'], 'Score2': [95, 100, 105]} df2 = pd.DataFrame(data2)

공통 열을 기준으로 데이터 병합

dfmerged = pd.merge(df1, df2, on='Name') print(dfmerged)

열 이름을 기준으로 데이터 결합

dfconcatenated = pd.concat([df1, df2], axis=1) print(dfconcatenated) ```

Pandas는 이 외에도 많은 고급 기능을 제공하여 데이터 분석을 보다 효율적이고 간편하게 할 수 있게 도와줍니다. 이러한 기능을 잘 활용하면 데이터 분석 작업의 생산성을 높일 수 있으며, 다양한 데이터를 보다 깊이 있게 분석할 수 있습니다.

이상으로 Pandas의 고급 기능에 대해 소개하였습니다. 다음 포스팅에서는 Pandas를 활용한 데이터 시각화에 대해 알아보도록 하겠습니다.