タグ

pandasに関するwonder-wallのブックマーク (15)

  • PandasからPolarsへ移行した方がいいのか - Qiita

    なぜこの記事を書くのか 皆さん、データ解析を行う際にどのようなライブラリを用いているでしょうか。 おそらく大半の人はpandasを使っているのではないでしょうか。 私もpandas使ってます。簡単だよね(´・ω・`) しかし、業務でバカクソでけえデータを読み込もうとしたときに、読み込み時間がとんでもなくかかったり、メモリ不足でそもそも読み込めもしないことが起きていました。 読み込みにメモリわれすぎて他の作業ができずに待機した挙句、燃え尽きたかのようにノーパソのファンが止まると同時にメモリ不足のエラーが出たときには切れ散らかします。 (画像元:葬送のフリーレン公式Xアカウントのポストより) そんなこともあり、AWSなどのクラウドサービスでメモリに余裕を持たせるためにめちゃくちゃ良いインスタンスを使用していましたが、コストの問題で断念しました。 しかし、どうしても読み込みたいということもあり

    PandasからPolarsへ移行した方がいいのか - Qiita
  • 知っていますか?Pandasをノーコーディングで高速化(CPU環境でも)できるらしい… FireDucks🔥🐦 - Qiita

    知っていますか?Pandasをノーコーディングで高速化(CPU環境でも)できるらしい… FireDucks🔥🐦Pythonpandasデータサイエンス統計検定 はじめに Pandasで大量データを扱って処理時間にイライラしたことはないでしょうか? なんと、Pandasを従来のコードを変えずに高速化するライブラリィが出たみたいです。 NEC研究所が出したFireDucks 🔥🐦 というライブラリィで、ベータ版が無償公開されています。 しかも CPU環境でも高速化されるみたいです。詳細は下記のサイトを参照してください。 ベーター版ですが無償とは素晴らしいですね! 早速検証してみましょう。 環境 FireDucksの利用方法には、「インポートフック」、「明示的なインポート」の2種類があります。 「インポートフック」の場合は、pythonの起動時にオプションを指定することでコードの書き換え

    知っていますか?Pandasをノーコーディングで高速化(CPU環境でも)できるらしい… FireDucks🔥🐦 - Qiita
  • Rust製高速データフレームライブラリ、Polarsを試す | gihyo.jp

    門脇@satoru_kadowakiです。今月のPython Monthly Topicsでは、Rust製の高速データフレームライブラリ Polars について紹介します。 Polarsとは Pythonデータ分析に使用される主なライブラリに pandas があります。Polarsはpandasと同様にデータフレームというデータ構造オブジェクトを提供するサードパーティライブラリです。特にpandasを意識して作られており、メインページに「Lightning-fast DataFrame library for Rust and Python」とあるように、Rustによる高速処理を謳っています。 Polarsのリポジトリや関連ドキュメントは以下を参照してください。 Github: https://github.com/pola-rs/polars ユーザーガイド: https://pola

    Rust製高速データフレームライブラリ、Polarsを試す | gihyo.jp
  • Pandasのメモリ削減方法を整理した - Taste of Tech Topics

    皆さんこんにちは 機械学習チーム YAMALEXチームの@tereka114です。最近、寒いので、鍋を中心にべて生きています。 検証段階でも、規模の大きなデータを扱う機会が増えてきて、Pandasのメモリ消費量が厳しいと感じてきたので、その削減や効率化のテクニックまとめたいと思いました。 有名なものからマイナーなものまで、思いつく限り書いてみます。 そもそもなぜ、Pandasのメモリ削減技術が必要なのか 準備 Pandasのメモリ削減 1. 型修正 2. 逐次読み込み 3. 読み込み時の型指定 4. 逐次読み込み&集約 5. 不要なものを読み込まない 6. 不要なカラム/DataFrameを消す 番外編:そもそもPandasを利用しない 最後に そもそもなぜ、Pandasのメモリ削減技術が必要なのか Pandasで扱うデータの多くのファイルはCSV,Parquet, JSON(JSONL

    Pandasのメモリ削減方法を整理した - Taste of Tech Topics
  • お前らのpandasの使い方は間違っている - Qiita

    この記事は株式会社Nuco Advent Calendar 2022の9日目の記事です。 はじめに いきなりお馴染みの「キャッチーでウィットでセンセーショナルな」タイトルで失礼します。 私自身、業務の中でpandasに大変お世話になっており、自戒も込めてpandasの「アンチパターン」をまとめてみました。 この記事を読んで、より快適なpandasライフを送っていただけると嬉しいです。 対象読者 Pythonを使ったデータ分析機械学習に携わる方 この記事はpandasの基的な使い方を解説するものではないので注意してください。 表形式ファイルを加工する必要がある方 pandasの強みはリレーショナルなデータ全般です。必ずしもデータ分析機械学習だけが守備範囲ではありません。 pandasとは pandasの公式ドキュメントの概要には、以下のように記載してあります。 pandas is a

    お前らのpandasの使い方は間違っている - Qiita
  • pandas でメモリに乗らない 大容量ファイルを上手に扱う - StatsFragments

    概要 分析のためにデータ集めしていると、たまに マジか!? と思うサイズの CSV に出くわすことがある。なぜこんなに育つまで放っておいたのか、、、? このエントリでは普通には開けないサイズの CSV を pandas を使ってうまいこと処理する方法をまとめたい。 サンプルデータ たまには実データ使おう、ということで WorldBankから GDPデータを落とす。以下のページ右上の "DOWNLOAD DATA" ボタンで CSV を選択し、ローカルに zip を保存する。解凍した "ny.gdp.mktp.cd_Indicator_en_csv_v2.csv" ファイルをサンプルとして使う。 http://data.worldbank.org/indicator/NY.GDP.MKTP.CD?page=1 補足 pandas の Remote Data Access で WorldBan

    pandas でメモリに乗らない 大容量ファイルを上手に扱う - StatsFragments
  • 超爆速なcuDFとPandasを比較した - Taste of Tech Topics

    皆さんこんにちは。 @tereka114です。 今年末はKaggleで開催される面白いコンペも多くて日々、エンジョイしています。 最近は巨大なデータを扱うことが増えており、Pandasだと時間がかかりすぎて効率が悪いと感じています。 そのため、データを高速に処理できるcuDFを利用することも多くなってきました。 この記事ではcuDFの魅力と扱う際の注意点を説明していきます。 ※この記事は「Pythonその2 アドベントカレンダー」10日目の記事です。 qiita.com cuDFとは cuDFはNVIDIAさんが開発している、Pandasの代わりに利用することができるGPUのライブラリです。 最も大きな特徴はGPUで計算するため、高速であることです。 主に、カテゴリ変数ごとの平均計算や、テーブル同士の結合といった、時間のかかるテーブル処理で、効果を発揮します。 github.com cuD

    超爆速なcuDFとPandasを比較した - Taste of Tech Topics
  • (修正版) NumPy/pandas使いのためのテスト自動化入門 / PyConJP2020

    PyCon JP 2020での発表スライドです。 --------------------------- (2020/08/30) 誤字を修正しました。 場所: p15 誤: assert_array_close() 正: assert_allclose() ---------------…

    (修正版) NumPy/pandas使いのためのテスト自動化入門 / PyConJP2020
  • Kaggleで戦いたい人のためのpandas実戦入門 - ML_BearのKaggleな日常

    はじめに 自分は元々pandasが苦手でKaggleコンペ参加時は基的にBigQuery上のSQLで特徴量を作り、最低限のpandas操作でデータ処理をしていました。 しかし、あるコードコンペティションに参加することになり、pythonで軽快にデータ処理をこなす必要が出てきたので勉強しました。 そこで、当時の勉強メモをもとに「これだけ知っていればKaggleでそこそこ戦えるかな」と思っているpandasの主要機能をまとめました。 注記 実戦入門 のつもりが ほぼ辞書 になってしまいました orz pandasとはなんぞや的な内容は書いていません (import pandasやDataFrameとは何かなど) pandas1.0系でも動くように書いたつもりですが間違ってたらすみません 目次 はじめに 注記 目次 Options DaraFrame 読み書き CSVファイル 読み込み 書き出

    Kaggleで戦いたい人のためのpandas実戦入門 - ML_BearのKaggleな日常
  • たった一文でPandasのapplyメソッドを高速化する方法(検証計算あり) - Qiita

    以下では、DaskやPandasなどと比較して、swifterがどの程度高速なのかを検証したいと思います。 swifterはベクトル化可能な場合とそうでない場合で挙動が異なるので、各々の場合を検証します。 使用したPCのスペックはIntel Core i5-8350U @1.70GHz、メモリが16GBです。 ベクトル化可能な場合 swifterはベクトル化可能なときはベクトル化するので、swifterの計算時間は単純にベクトル化した場合と ほぼ等しくなるはずです。これを確認してみましょう。 import pandas as pd import numpy as np import dask.dataframe as dd import swifter import multiprocessing import gc pandas_time_list = [] dask_time_list

    たった一文でPandasのapplyメソッドを高速化する方法(検証計算あり) - Qiita
  • pandasのStyling機能で強化するJupyter実験レポート / PyConJP 2019

    PyConJP 2019: https://pycon.jp/2019/ Speaker: [Twitter] @komo_fr (https://twitter.com/komo_fr) [GitHub] @komo-fr (https://github.com/komo-fr) V…

    pandasのStyling機能で強化するJupyter実験レポート / PyConJP 2019
  • PythonでDataFrameを省メモリに縦横変換する - MicroAd Developers Blog

    マイクロアドの京都研究所で機械学習エンジニアをしている田中です。 機械学習を利用したユーザーの行動予測の研究開発などを担当しています。 今回は、データの前処理に関するお話をしたいと思います。 データの縦横変換 縦横変換するためのpandasの関数 省メモリに縦横変換する サンプルデータの準備 pandas.Categoricalの活用 scipy.sparseの疎行列クラスの活用 さいごに 参考 データの縦横変換 機械学習や統計解析をする際に頻出するデータの前処理の1つに、データの縦横変換があります。 縦横変換とは、縦持ち(またはlong型)のデータと、横持ち(またはwide型)のデータを互いに変換することを指します。 縦持ちのデータの例 横持ちのデータの例 例示したこの2つのテーブルは、表現形式こそ異なりますが、表しているデータ自体はどちらも同じものになります。 ユーザーの行動予測をする

    PythonでDataFrameを省メモリに縦横変換する - MicroAd Developers Blog
  • Pandasで行うデータ処理を100倍高速にするOut-of-CoreフレームワークVaex - フリーランチ食べたい

    TL;DR アウトオブコア、かつマルチコアでデータ処理を行えるVaexの紹介です。 string関係のメソッドで平均して100倍以上の高速化が確認できました。(作者のベンチマークだと最大1000倍) 文字列処理以外でも数倍~数十倍の高速化が行えそうです。 この記事では性能の比較のみ行い、解説記事は別で書こうと思います。 pandasより1000倍早いフレームワーク? 今週、興味深い記事を読みました。重要な部分だけ抜き出すと次のような内容です。 Vaexの最近のアップデートでの文字列処理が超早くなった 32コアだとpandasと比べて1000倍早い towardsdatascience.com 1000倍って当なの?って感じですよね。そもそも自分はVaex自体を知らなかったので調べてみました。 ちなみに調べていて気づいたのですが、この記事の著者はVaexの作者なんですよね。 疑っているわけ

    Pandasで行うデータ処理を100倍高速にするOut-of-CoreフレームワークVaex - フリーランチ食べたい
  • feather - pandasの読み書きを高速化 - 加具留矢流余

    kaggleに参加して巨大なCSVファイルを読み書きしていると、それだけで数分近くかかってしまうことがある。 そこで紹介されていたfeatherというDataFrame保存用ライブラリを使ってみた。 featherはpandasのDataFrameを高速に保存、ロードするために開発されたApache Arrowのpythonラッパーだ。 Apache Arrow特有のカラム型メモリ管理をすることで、データの読み書きを高速化しているそうだ。 ベースになっているApache Arrowが他言語や他オープンソース(SparkやHadoop)との互換性を重視しているために、feather形式で保存すればRなどでも読み込める。 featherのインストールはpipから簡単にできる。 pip install feather-format 使い方も簡単でwrite_dataframe、read_data

    feather - pandasの読み書きを高速化 - 加具留矢流余
  • Pythonメモ : pandas-profilingでDataFrameのプロファイリング - もた日記

    pandas-profiling インストール 使い方 プロファイリング結果 pandas-profiling github.com pandas-profilingというpandasのDataFrameのプロファイリング結果を出力するライブラリがあったので試してみる。取得したデータの概要を知りたいときに使えそう。 プロファイリング結果として表示されるデータについてはJupyter Notebookでのデモ(隕石落下データ)で確認できる。 インストール pipやcondaでインストールできる。 $ pip install pandas-profiling $ conda install pandas-profiling 使い方 Jupyter Notebookで使用するのが簡単。 流れとしてはデータを読み込んで、 import pandas as pd import pandas_prof

    Pythonメモ : pandas-profilingでDataFrameのプロファイリング - もた日記
  • 1