スキル一覧に戻る
eyadsibai

polars

by eyadsibai

0🍴 0📅 2026年1月15日
GitHubで見るManusで実行

SKILL.md


name: polars description: Use when "Polars", "fast dataframe", "lazy evaluation", "Arrow backend", or asking about "pandas alternative", "parallel dataframe", "large CSV processing", "ETL pipeline", "expression API" version: 1.0.0

Polars Fast DataFrame Library

Lightning-fast DataFrame library with lazy evaluation and parallel execution.

When to Use

  • Pandas is too slow for your dataset
  • Working with 1-100GB datasets that fit in RAM
  • Need lazy evaluation for query optimization
  • Building ETL pipelines
  • Want parallel execution without extra config

Lazy vs Eager Evaluation

ModeFunctionExecutesUse Case
Eagerread_csv()ImmediatelySmall data, exploration
Lazyscan_csv()On .collect()Large data, pipelines

Key concept: Lazy mode builds a query plan that gets optimized before execution. The optimizer applies predicate pushdown (filter early) and projection pushdown (select columns early).


Core Operations

Data Selection

OperationPurpose
select()Choose columns
filter()Choose rows by condition
with_columns()Add/modify columns
drop()Remove columns
head(n) / tail(n)First/last n rows

Aggregation

OperationPurpose
group_by().agg()Group and aggregate
pivot()Reshape wide
melt()Reshape long
unique()Distinct values

Joins

Join TypeDescription
innerMatching rows only
leftAll left + matching right
outerAll rows from both
crossCartesian product
semiLeft rows with match
antiLeft rows without match

Expression API

Key concept: Polars uses expressions (pl.col()) instead of indexing. Expressions are lazily evaluated and optimized.

Common Expressions

ExpressionPurpose
pl.col("name")Reference column
pl.lit(value)Literal value
pl.all()All columns
pl.exclude(...)All except

Expression Methods

CategoryMethods
Aggregation.sum(), .mean(), .min(), .max(), .count()
String.str.contains(), .str.replace(), .str.to_lowercase()
DateTime.dt.year(), .dt.month(), .dt.day()
Conditional.when().then().otherwise()
Window.over(), .rolling_mean(), .shift()

Pandas Migration

PandasPolars
df['col']df.select('col')
df[df['col'] > 5]df.filter(pl.col('col') > 5)
df['new'] = df['col'] * 2df.with_columns((pl.col('col') * 2).alias('new'))
df.groupby('col').mean()df.group_by('col').agg(pl.all().mean())
df.apply(func)df.map_rows(func) (avoid if possible)

Key concept: Polars prefers explicit operations over implicit indexing. Use .alias() to name computed columns.


File I/O

FormatReadWriteNotes
CSVread_csv() / scan_csv()write_csv()Human readable
Parquetread_parquet() / scan_parquet()write_parquet()Fast, compressed
JSONread_json() / scan_ndjson()write_json()Newline-delimited
IPC/Arrowread_ipc() / scan_ipc()write_ipc()Zero-copy

Key concept: Use Parquet for performance. Use scan_* for large files to enable lazy optimization.


Performance Tips

TipWhy
Use lazy modeQuery optimization
Use ParquetColumn-oriented, compressed
Select columns earlyProjection pushdown
Filter earlyPredicate pushdown
Avoid Python UDFsBreaks parallelism
Use expressionsVectorized operations
Set dtypes on readAvoid inference overhead

vs Alternatives

ToolBest ForLimitations
Polars1-100GB, speed criticalMust fit in RAM
PandasSmall data, ecosystemSlow, memory hungry
DaskLarger than RAMMore complex API
SparkCluster computingInfrastructure overhead
DuckDBSQL interfaceDifferent API style

Resources

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です