Pandas는 데이터 조작 및 분석을 위한 강력한 Python 라이브러리입니다. 구조화된 데이터를 쉽게 다룰 수 있는 DataFrame 및 Series와 같은 데이터 구조를 제공합니다. 이 글에서는 데이터를 읽는 것부터 복잡한 계산을 수행하는 것까지, 데이터 분석에 필수적인 Pandas 메서드를 안내합니다.
“ Pandas를 사용한 데이터 읽기 및 쓰기
Pandas는 다양한 파일 형식에서 데이터를 읽고 쓰는 것을 지원합니다. 일반적인 메서드는 다음과 같습니다:
* `read_csv()`: CSV 파일에서 데이터를 읽습니다.
* `to_csv()`: 데이터를 CSV 파일로 씁니다.
* `read_excel()`: Excel 파일에서 데이터를 읽습니다.
* `to_excel()`: 데이터를 Excel 파일로 씁니다.
* `read_sql()`: SQL 데이터베이스에서 데이터를 읽습니다.
* `to_sql()`: SQL 데이터베이스로 데이터를 씁니다.
예시:
```python
import pandas as pd
df = pd.read_csv('data.csv')
df.to_csv('output.csv', index=False)
```
“ Pandas에서 데이터 선택 및 필터링
Pandas는 DataFrame 내에서 데이터를 선택하고 필터링하는 여러 가지 방법을 제공합니다:
* `[]`: 이름으로 열을 선택하거나 인덱스로 행을 선택합니다.
* `loc[]`: 레이블로 데이터를 선택합니다.
* `iloc[]`: 정수 위치로 데이터를 선택합니다.
예시:
```python
# 'A' 열 선택
df['A']
# 0부터 3까지의 행 선택
df[0:3]
# 'A' 열의 값이 0보다 큰 행 선택
df[df['A'] > 0]
# loc를 사용하여 특정 행 및 열 선택
df.loc[df['Age'].isnull(), 'BB']
# iloc를 사용하여 특정 행 및 열 선택
df.iloc[3:5, 0:2]
```
“ 데이터 계산 및 요약
Pandas는 데이터를 계산하고 요약하는 다양한 함수를 제공합니다:
* `value_counts()`: Series에서 고유 값의 발생 횟수를 계산합니다.
* `median()`: Series의 중앙값을 계산합니다.
* `mean()`: Series 또는 DataFrame의 평균을 계산합니다.
* `std()`: 표준 편차를 계산합니다.
* `describe()`: 기술 통계를 생성합니다.
* `sum()`: 값의 합계를 계산합니다.
* `count()`: NA가 아닌 값의 개수를 계산합니다.
예시:
```python
# 'Category' 열의 고유 값 개수 계산
df['Category'].value_counts()
# 'Price' 열의 평균 계산
df['Price'].mean()
# DataFrame에 대한 기술 통계 생성
df.describe()
```
“ 누락된 데이터 처리
Pandas는 누락된 데이터를 처리하는 메서드를 제공합니다:
* `isnull()`: 누락된 값을 감지합니다.
* `notnull()`: 누락되지 않은 값을 감지합니다.
* `dropna()`: 누락된 값이 있는 행 또는 열을 제거합니다.
* `fillna()`: 지정된 값 또는 메서드로 누락된 값을 채웁니다.
예시:
```python
# 누락된 값 확인
df.isnull().sum()
# 누락된 값을 0으로 채우기
df.fillna(0)
# 누락된 값을 해당 열의 평균으로 채우기
df['Age'].fillna(df['Age'].mean(), inplace=True)
```
“ 데이터 조작 기술
Pandas는 강력한 데이터 조작 기술을 제공합니다:
* `groupby()`: 하나 이상의 열을 기준으로 데이터를 그룹화합니다.
* `pivot_table()`: DataFrame에서 피벗 테이블을 생성합니다.
* `apply()`: DataFrame의 축을 따라 함수를 적용합니다.
* `merge()`: 공통 열을 기준으로 두 DataFrame을 병합합니다.
* `concat()`: DataFrame을 연결합니다.
예시:
```python
# 'Category'별로 데이터를 그룹화하고 'Price'의 평균 계산
df.groupby('Category')['Price'].mean()
# 각 행에 함수 적용
def calculate_discount(row):
return row['Price'] * 0.9
df['Discounted_Price'] = df.apply(calculate_discount, axis=1)
```
“ DataFrame 병합 및 조인
Pandas는 SQL 조인과 유사하게 DataFrame을 병합하고 조인하는 것을 지원합니다:
* `merge()`: 공통 열을 기준으로 두 DataFrame을 병합합니다.
* `join()`: 인덱스를 기준으로 두 DataFrame을 조인합니다.
* `concat()`: 행 또는 열을 따라 DataFrame을 연결합니다.
예시:
```python
# 'ID' 열을 기준으로 두 DataFrame 병합
merged_df = pd.merge(df1, df2, on='ID', how='inner')
# 두 DataFrame을 행으로 연결
concatenated_df = pd.concat([df1, df2])
```
“ 데이터 관계 분석
Pandas를 사용하면 데이터 간의 관계를 분석할 수 있습니다:
* `corr()`: 열 간의 상관 관계를 계산합니다.
* `crosstab()`: 두 개 이상의 요인에 대한 교차표를 계산합니다.
예시:
```python
# 'Age'와 'Salary' 간의 상관 관계 계산
df[['Age', 'Salary']].corr()
# 'Gender'와 'Category'의 교차표 생성
pd.crosstab(df['Gender'], df['Category'])
```
Pandas는 Python에서 데이터 분석을 위한 필수 도구입니다. 이 글에서는 데이터를 읽고, 쓰고, 선택하고, 계산하고, 누락된 데이터를 처리하고, 조작하고, 병합하고, 변환하는 기본적인 메서드를 다루었습니다. 이러한 기술을 숙달하면 데이터를 효율적으로 분석하고 통찰력을 얻을 수 있습니다.
우리는 사이트 작동에 필수적인 쿠키를 사용합니다. 사이트를 개선하기 위해 방문자들의 사용 방식을 이해하고, 소셜 미디어 플랫폼에서의 트래픽을 측정하며, 개인화된 경험을 제공하는 데 도움이 되는 추가 쿠키를 사용하고자 합니다. 일부 쿠키는 제3자가 제공합니다. 모든 쿠키를 수락하려면 '수락'을 클릭하세요. 선택적 쿠키를 모두 거부하려면 '거부'를 클릭하세요.
댓글(0)