Polars library

Sylen·2024년 6월 16일

Dive to DeepLearning

목록 보기
3/3

대규모 데이터처리에서 판다스보다 효율이 좋은 라이브러리
캐글에서 자주 사용되는 듯 하다

Polars는 빠르고 효율적인 데이터프레임 라이브러리입니다. Polars는 Rust로 작성되어 있어 매우 높은 성능을 제공합니다. 여기서는 Polars의 기본 사용법을 코드 예제와 함께 자세히 설명하겠습니다.

Polars 설치

먼저, Polars 라이브러리를 설치합니다.

pip install polars

기본 사용법

Polars는 pandas와 유사한 인터페이스를 제공합니다. 그러나 Polars는 더 나은 성능과 일부 추가 기능을 제공합니다.

1. 데이터프레임 생성

Polars를 사용하여 데이터프레임을 생성하는 방법입니다.

import polars as pl

# 데이터 생성
data = {
    "column1": [1, 2, 3, 4, 5],
    "column2": ["a", "b", "c", "d", "e"]
}

# DataFrame 생성
df = pl.DataFrame(data)
print(df)

2. CSV 파일 읽기 및 쓰기

Polars를 사용하여 CSV 파일을 읽고 쓸 수 있습니다.

# CSV 파일 읽기
df = pl.read_csv("path/to/your/file.csv")
print(df)

# CSV 파일 쓰기
df.write_csv("path/to/save/file.csv")

3. 데이터 선택 및 필터링

Polars를 사용하여 데이터프레임의 데이터를 선택하고 필터링하는 방법입니다.

# 특정 열 선택
df = pl.DataFrame({
    "column1": [1, 2, 3, 4, 5],
    "column2": ["a", "b", "c", "d", "e"],
    "column3": [5, 4, 3, 2, 1]
})

# 열 선택
selected_columns = df.select(["column1", "column2"])
print(selected_columns)

# 조건을 사용하여 행 필터링
filtered_rows = df.filter(pl.col("column1") > 2)
print(filtered_rows)

4. 데이터 변환

Polars를 사용하여 데이터프레임의 데이터를 변환하는 방법입니다.

# 데이터 변환
df = pl.DataFrame({
    "column1": [1, 2, 3, 4, 5],
    "column2": ["a", "b", "c", "d", "e"]
})

# 새로운 열 추가
df = df.with_columns([
    (pl.col("column1") * 2).alias("double_column1")
])
print(df)

5. 그룹화 및 집계

Polars를 사용하여 데이터프레임을 그룹화하고 집계하는 방법입니다.

# 데이터프레임 생성
df = pl.DataFrame({
    "group": ["A", "A", "B", "B", "C"],
    "value": [1, 2, 3, 4, 5]
})

# 그룹화 및 집계
grouped_df = df.groupby("group").agg([
    pl.col("value").sum().alias("sum_value"),
    pl.col("value").mean().alias("mean_value")
])
print(grouped_df)

6. 결합 및 조인

Polars를 사용하여 두 데이터프레임을 결합하고 조인하는 방법입니다.

# 데이터프레임 생성
df1 = pl.DataFrame({
    "key": [1, 2, 3],
    "value1": ["a", "b", "c"]
})

df2 = pl.DataFrame({
    "key": [1, 2, 4],
    "value2": ["x", "y", "z"]
})

# 조인
joined_df = df1.join(df2, on="key", how="inner")
print(joined_df)

Polars 사용 예제

Polars를 사용하여 데이터 전처리, 분석 및 모델링 과정을 포함하는 전체 예제를 제공합니다.

import polars as pl

# 데이터프레임 생성
df = pl.DataFrame({
    "name": ["Alice", "Bob", "Charlie", "David"],
    "age": [25, 32, 18, 45],
    "salary": [50000, 60000, 35000, 90000]
})

# 데이터 선택 및 필터링
selected_df = df.select(["name", "age"])
filtered_df = df.filter(pl.col("age") > 30)

# 새로운 열 추가
df = df.with_columns([
    (pl.col("salary") * 1.1).alias("new_salary")
])

# 그룹화 및 집계
grouped_df = df.groupby("age").agg([
    pl.col("salary").sum().alias("total_salary")
])

# 데이터 출력
print("Original DataFrame:")
print(df)
print("\nSelected Columns:")
print(selected_df)
print("\nFiltered DataFrame:")
print(filtered_df)
print("\nNew Column Added:")
print(df)
print("\nGrouped DataFrame:")
print(grouped_df)

이 예제에서는 Polars를 사용하여 데이터프레임을 생성하고, 열을 선택하고 필터링하며, 새로운 열을 추가하고, 데이터를 그룹화하고 집계하는 방법을 보여줍니다. Polars는 대용량 데이터 처리에 매우 효율적이며, Python 환경에서 데이터 분석 작업을 수행할 때 유용합니다.

profile
AI가 재밌는 걸

0개의 댓글