파이썬/Pandas

파이썬 pandas : 시리즈와 데이터프레임란?

코샵 2023. 3. 30. 10:07
반응형
pandas 모듈에서 가장 중요한 클래스는 시리즈(Series)와 데이터프레임(DataFrame)입니다. 시리즈는 1차원 데이터를 다루는 데 사용되며, 데이터프레임은 2차원 데이터를 다루는 데 사용됩니다.

시리즈 클래스

시리즈 클래스를 정의하려면 다음과 같이 코드를 작성합니다.

import pandas as pd

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

위 코드에서 pd.Series() 함수는 시리즈 객체를 생성합니다. 시리즈 객체는 인덱스와 값을 가집니다. 시리즈 객체를 출력하면 다음과 같이 나타납니다.

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


데이터프레임 클래스

데이터프레임 클래스를 정의하려면 다음과 같이 코드를 작성합니다.

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 32, 18, 47],
        'gender': ['F', 'M', 'M', 'M']}

df = pd.DataFrame(data)

위 코드에서 pd.DataFrame() 함수는 데이터프레임 객체를 생성합니다. 데이터프레임 객체는 행과 열로 구성됩니다. 데이터프레임 객체를 출력하면 다음과 같이 나타납니다.

       name  age gender
0     Alice   25      F
1       Bob   32      M
2   Charlie   18      M
3     David   47      M


데이터 조작

pandas 모듈은 다양한 데이터 조작 기능을 제공합니다. 예를 들어, 시리즈나 데이터프레임 객체의 인덱싱, 슬라이싱, 필터링, 그룹화, 합계, 평균 등 다양한 조작이 가능합니다.

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 32, 18, 47],
        'gender': ['F', 'M', 'M', 'M']}

df = pd.DataFrame(data)

# 인덱싱
print(df.loc[0])

# 슬라이싱
print(df.iloc[1:3])

# 필터링
print(df[df['age'] > 30])

# 그룹화
print(df.groupby('gender').mean())

위 코드에서 df.loc[0]는 첫 번째 행을 출력합니다. df.iloc[1:3]는 두 번째부터 세 번째 행까지 출력합니다. df[df['age'] > 30]는 나이가 30보다 큰 데이터를 출력합니다. df.groupby('gender').mean()은 성별로 그룹화하여 각 그룹의 평균을 출력합니다.


데이터프레임 파일로 저장

데이터프레임 객체를 파일로 저장하려면 다음과 같이 코드를 작성합니다.

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 32, 18, 47],
        'gender': ['F', 'M', 'M', 'M']}

df = pd.DataFrame(data)

# CSV 파일로 저장
df.to_csv('data.csv', index=False)

# Excel 파일로 저장
df.to_excel('data.xlsx', index=False)

위 코드에서 df.to_csv() 함수는 데이터프레임 객체를 CSV 파일로 저장합니다. df.to_excel() 함수는 데이터프레임 객체를 Excel 파일로 저장합니다.


결론

이상으로 파이썬 pandas 모듈의 시리즈와 데이터프레임 클래스에 대해 알아보았습니다. pandas 모듈은 데이터 분석에 필수적인 라이브러리이며, 다양한 데이터 조작 방법을 제공합니다.