판다스 데이터프레임
판다스(Pandas)는 파이썬에서 데이터 분석을 위해 널리 사용되는 라이브러리로, 그 중 데이터프레임(DataFrame)은 행과 열로 이루어진 2차원 자료구조입니다. 데이터프레임은 엑셀 스프레드시트와 유사한 형태로 데이터를 저장하고 조작할 수 있어 데이터 분석 작업에 매우 유용합니다.
import pandas as pd
# 데이터프레임 생성
data = {
"Name": ["Alice", "Bob", "Charlie"],
"Age": [25, 30, 35],
"City": ["New York", "Los Angeles", "Chicago"]
}
df = pd.DataFrame(data)
print(df)
데이터프레임의 주요 특징
1. 데이터프레임 생성
데이터프레임은 딕셔너리, 리스트, Numpy 배열 등 다양한 데이터 구조로부터 생성할 수 있습니다. 예를 들어, 딕셔너리를 사용하여 데이터프레임을 생성할 수 있습니다.
data = {
"Product": ["Apple", "Banana", "Cherry"],
"Price": [100, 200, 300]
}
df = pd.DataFrame(data)
print(df)
2. 데이터프레임 열과 행 접근
데이터프레임의 열(column)이나 행(row)에 접근하기 위해서는 loc
또는 iloc
메서드를 사용할 수 있습니다. loc
은 라벨을 기준으로, iloc
은 정수 인덱스를 기준으로 접근합니다.
# 열 접근
print(df["Product"])
# 행 접근 (loc 사용)
print(df.loc[0])
# 행 접근 (iloc 사용)
print(df.iloc[1])
3. 데이터 추가 및 삭제
데이터프레임에 새로운 열이나 행을 추가하거나 기존 데이터를 삭제할 수 있습니다. 새로운 열을 추가하려면 다음과 같이 작성합니다.
# 새로운 열 추가
df["Discounted Price"] = df["Price"] * 0.9
print(df)
행을 삭제하려면 drop()
메서드를 사용합니다.
# 행 삭제
df = df.drop(1)
print(df)
4. 데이터 분석 함수
판다스는 데이터 분석에 유용한 다양한 함수를 제공합니다. 예를 들어, describe()
함수는 데이터프레임의 기초 통계 정보를 제공합니다.
print(df.describe())
또한, 특정 열의 평균, 합계를 구하는 mean()
, sum()
등의 함수도 사용할 수 있습니다.
average_price = df["Price"].mean()
print("Average Price:", average_price)
5. 데이터프레임 필터링
데이터프레임에서 특정 조건을 만족하는 데이터를 필터링할 수 있습니다. 예를 들어, 가격이 150 이상인 제품만 선택하려면 다음과 같이 작성합니다.
filtered_df = df[df["Price"] >= 150]
print(filtered_df)
6. 데이터프레임 정렬
데이터프레임을 특정 열을 기준으로 정렬하려면 sort_values()
메서드를 사용합니다.
# 가격을 기준으로 내림차순 정렬
sorted_df = df.sort_values(by="Price", ascending=False)
print(sorted_df)
요약
- 변수는 데이터를 저장하는 공간으로, 값을 할당하면 자동으로 자료형이 결정됩니다.
type()
함수를 사용하여 변수의 자료형을 확인할 수 있습니다.- 파이썬의 변수는 동적 타이핑을 사용하여, 동일한 변수에 다른 타입의 값을 할당할 수 있습니다.
- 여러 변수에 값을 한 번에 할당하거나 동일한 값을 여러 변수에 할당할 수 있습니다.
- 자료형을 변환하기 위해
int()
,float()
,str()
등의 함수를 사용할 수 있습니다. - 판다스 데이터프레임은 행과 열로 이루어진 2차원 자료구조로, 데이터 분석에 매우 유용합니다.
- 데이터프레임은 딕셔너리나 리스트 등 다양한 형태로 생성할 수 있으며, 열과 행에 접근하고 데이터를 추가, 삭제할 수 있습니다.
- 데이터프레임의 필터링, 정렬, 통계 함수 등을 활용하여 데이터를 효율적으로 분석할 수 있습니다.
변수와 판다스 데이터프레임은 파이썬에서 데이터를 다루는 데 필수적인 도구입니다. 이들을 잘 이해하고 활용하여 효과적인 데이터 처리를 해보세요!