Home Home Why Installation and quick start Intro tutorial Narwhals and SQL Concepts Overhead Perfect backwards compatibility policy Supported libraries and extending Narwhals How it works Ecosystem Security Resources Narwhals - Extremely lightweight and extensible compatibility layer between dataframe libraries! Full API support: cuDF, Modin, pandas, Polars, PyArrow. Lazy-only support: Dask, DuckD
はじめに Python を用いてデータ分析を行うにあたりよく使われるライブラリとして pandas があります。 pandas は大変使い勝手の良いライブラリですが、多くの場合データを丸ごと pd.DataFrame 型で保持するため「どのような列を持っているのか」、「各列がどのような型か」、「各列の値にどのような値が入りうるのか」等がソースコードを一見しただけでは分からないことが多いです。 結果として処理がブラックボックス化してしまい、デバッグコストの増加やコードの可読性低下といった問題を生じさせることがあります。 この問題への解決策の一つとして、本記事ではデータフレームのバリデーション機能を提供するライブラリである pandera を紹介します。 pandera とは データ処理パイプラインの可読性とロバストさを高めるために dataframe に対してデータ検証を行う機能を提供するラ
      
  BigQuery DataFrames を使用する BigQuery DataFrames は、BigQuery エンジンによる Pythonic DataFrame と ML API を提供します。BigQuery DataFrames は、オープンソースのパッケージです。 pip install --upgrade bigframes を実行すると、最新バージョンをインストールできます。 BigQuery DataFrames には、次の 3 つのライブラリが用意されています。 bigframes.pandas は、BigQuery でデータの分析と操作に使用できる pandas API を提供します。多くのワークロードは、インポートをいくつか変更するだけで pandas から bigframes に移行できます。bigframes.pandas API は、テラバイト単位の BigQ
PandasはPythonのデータ解析ライブラリです。 データの加工や集計、分析に皆様活用されていると思います。 最近ではPolarsというRustベースの高速データ解析ライブラリが登場し、こちらを利用する人も増えているのではないかと思います。 PolarsではApache Arrowという列指向のデータフォーマットをベースにしており、データの高速処理を実現しています。 そんな中、最近Pandasの2.0がプレリリースされたようです。 2.0では、Apache ArrowをPython操作できるようにしたライブラリPyArrowがPandasで使えるようになったようなので、どれだけ高速に処理できるのか早速試してみました。 参考:Pandas2.0の新機能 前提 Pandas2.0はプレリリース版を使用します。 (この記事を書いている2023/3/21時点では、まだ正式リリースされていないよ
      
  タクシーアプリ『GO』のデータエンジニアをしている牧瀬です。 Apache Arrow という OSS を知り、弊社でも活用できる機会があるのではないかと興味を持ちました。本記事では Apache Arrow の概要を紹介します。 概要 Apache Arrow とは、インメモリのカラムナーフォーマット仕様および、それを操作するための各種プログラミング言語用のライブラリ実装です。 Apache Arrow が作られた目的は、大きなデータセットを高速に処理したり、データセットを異なるシステムやプログラミング言語の間で効率的にやりとりするためです。 なぜインメモリ? 一般的なカラムナーフォーマットの多くはストレージに保存する際のフォーマットですが、Apache Arrow はインメモリの仕様も定められています。 これは 1台のマシン上で異なる言語やプロセスの間でデータをやり取りする際、シリアラ
      
  ※結合(merge, join)は小野寺さん、冨山さんの発表の中で十分GPUの恩恵を受ける処理であることが自明だったので今回は省略しました。 処理速度を計測するためのデータセットは以下のコードで作成しました。 import pandas as pd import polars as pl import numpy as np import random from datetime import datetime, timedelta import time # データの行数 num_rows = 100_000_000 # データ生成関数 def generate_data(seed): # 乱数のシードを固定 np.random.seed(seed) random.seed(seed) # USER_ID列の生成 user_ids = np.random.randint(1, 1001,
      
  pandasではデフォルトでは文字列をオブジェクトデータ型で扱うようになっています。それに対してpolarsには最初から文字列専用のデータ型が用意されています。 pandasで日付を扱う場合は一般的には時刻を0:00:00にした日時np.datetime64で代用しますが、polarsには日付のみを扱うpl.Dateが存在し、また時刻のみを扱うpl.Time、日付+時刻を扱うpl.Datetimeもそれぞれ存在します。 型変換メソッド、つまりpandasの.astype()は、polarsでは.cast()です。 エクスプレッション(pl.Expr()) polarsには、データフレーム・シリーズとは別にエクスプレッションというクラスが存在します。エクスプレッションは「一連の操作の命令」だと思うとよいでしょう。 例えば、「"A"列を選択→3で割る→10より小さい値は2倍して大きい値は2で割
      
  This post is the first of many to come on Apache Arrow, pandas, pandas2, and the general trajectory of my work in recent times and into the foreseeable future. This is a bit of a read and overall fairly technical, but if interested I encourage you to take the time to work through it. In this post I hope to explain as concisely as I can some of the key problems with pandas’s internals and how I’ve
      
  ArcticDB is precisely designed to solve for a single pain point: getting quants productive with their data as quickly as possible. ArcticDB seamlessy integrates with common Python data science libraries, transforming your ability to operate complex data at petabyte scale with remarkable speed. Billions of rows of data, hundreds of thousands of columns processed in seconds.
      
  以下の記事を参考に書いてます。 ・Huggingface Datasets - Loading a Dataset ・Huggingface Transformers 4.1.1 ・Huggingface Datasets 1.2 1. データセットの読み込み「Huggingface Datasets」は、様々なデータソースからデータセットを読み込むことができます。 (1) Huggingface Hub (2) ローカルファイル (CSV/JSON/テキスト/pandas pickled データフレーム) (3) インメモリデータ (Python辞書/pandasデータフレームなど) 2. Huggingface Hub からのデータセットの読み込みNLPタスク用の135を超えるデータセットが、「HuggingFace Hub」で提供されています。「Huggingface Dataset
      
  この記事は朝日新聞社Advent Calendar2024の11日目の記事です。 昨日の記事は村瀬さんのAWS Lambda SnapStartを試してみたでした。 Polars 入門向けよく使いそうな機能の逆引きリファレンス こんにちは、朝日新聞社の新妻です。 皆さん、Polars使ってますか? 自分はこの半年間くらいPandasからPolarsに乗り換えて、しばらく使ってみていました。 個人的な感想として、メモリの効率さや処理の高速さが非常に良くて、特にSNSの投稿のような大規模なデータを扱うときには非常に助かっています。 ということで、非常にオススメできるのですが、 慣れてるツールを乗り換えたりするのって結構ハードルが高いですよね。 ということで、個人的な備忘録も兼ねてPolarsの機能の簡易的な逆引きリファレンスを作ってみました。 ここ半年間の自身の利用履歴から候補を絞っているので
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く