タグ

pandasとparallelに関するishideoのブックマーク (5)

  • たった数行でpandasを高速化する2つのライブラリ(pandarallel/swifter) - フリーランチ食べたい

    pandas はデータ解析やデータ加工に非常に便利なPythonライブラリですが、並列化されている処理とされていない処理があり、注意が必要です。例えば pd.Sereis.__add__ のようなAPI(つまり df['a'] + df['b'] のような処理です)は処理が numpy に移譲されているためPythonのGILの影響を受けずに並列化されますが、 padas.DataFrame.apply などのメソッドはPythonのみで実装されているので並列化されません。 処理によってはそこがボトルネックになるケースもあります。今回は「ほぼimportするだけ」で pandas の並列化されていない処理を並列化し高速化できる2つのライブラリを紹介します。同時に2つのライブラリのベンチマークをしてみて性能を確かめました。 pandarallel pandaralell はPythonの m

    たった数行でpandasを高速化する2つのライブラリ(pandarallel/swifter) - フリーランチ食べたい
  • Python: pandas の DataFrame, Series, Index を拡張する - CUBE SUGAR CONTAINER

    Pythonデータ分析をするときに、ほぼ必ずといって良いほど使われるパッケージとして pandas がある。 そのままでも便利な pandas だけど、代表的なオブジェクトの DataFrame, Series, Index には実は独自の拡張を加えることもできる。 これがなかなか面白いので、今回はその機能について紹介してみる。 ただし、あらかじめ断っておくと注意点もある。 独自の拡張を加えると、来は存在しないメソッドやプロパティがオブジェクトに生えることになる。 そのため、便利だからといってこの機能を使いすぎると、コードの可読性が低下する恐れもある。 使うなら、後から別の人がコードを読むときにも困らないようにしたい。 具体的には、使用するにしても最小限に留めたり、あるいはパッケージ化やドキュメント化をしておくことが挙げられる。 今回使った環境は次の通り。 $ sw_vers Pro

    Python: pandas の DataFrame, Series, Index を拡張する - CUBE SUGAR CONTAINER
  • データ分析のための並列処理ライブラリDask - Qiita

    この記事は、Brainpad Advent Calender 15日目の記事です。 記事では、メモリに乗らないようなデータもPandasやNumPyライクに操作を行い、スケールアップ・スケールアウトにも対応できるライブラリ、Daskについて、簡単に紹介をします。 はじめに Pythonデータ分析機械学習をする際、PandasやNumPyを用いる場面が非常に多くなってきました。 しかし、PandasやNumPyではメモリに乗らないデータの扱いが難しかったり、基的にシングルコアでの処理を行うため、速度が遅い、といった問題があります。例えば、サーバー上で実行する際、CPUの論理コアが32個あっても、1個のCPUしか使用していない、といった感じです。 近年、データ分析関連のライブラリは非常に多様化しており、派閥(?)が沢山あるようです。 個人的には、Pandas作者であるWes McKin

    データ分析のための並列処理ライブラリDask - Qiita
  • PySparkはじめました - 分散処理デビューする前にやったこと - JX通信社エンジニアブログ

    「JX通信社Advent Calendar 2019」10日目の記事です. 昨日は, @rychhrさんの「Pure WebSocketsをサポートしたAWS AppSyncでWebとiOS間のリアルタイムチャットを作ってみた(1)」でした. 改めまして, こんにちは. JX通信社でシニア・エンジニア&データ基盤エンジニアをしています, @shinyorke(しんよーく)と申します. JX通信社では, データ駆動での意思決定および施策実施をより円滑に進めるため, データ基盤の構築・運用を進めながらトライアル的に様々なFrameworkやツールの検証を行っています.*1 このエントリーでは, 私がシュッとPySparkで分散処理をする...前に, 手元で試したときの感想とその知見 のお話を残していきたいと思います. なお, 分散処理そのものの知見・ノウハウではなく, する前にPySparkに

    PySparkはじめました - 分散処理デビューする前にやったこと - JX通信社エンジニアブログ
  • 時間のかかる前処理をDaskで高速化 - ぴよぴよ.py

    最近仕事で自然言語処理を使ったモデルを作成していたんですが、 前処理やモデルを作る際に数分〜数十分単位の処理待ちの空き時間が頻繁に発生してしまい、 その度集中力が切れる問題に悩まされていました。 モデルの学習に時間がかかってしまうのはまた別の解決策を考えるとして、 今回は時間のかかる前処理をDaskをつかって高速化した方法をお話ししようと思います。 この記事は PyLadies Advent Calendar 2018 - Adventar の18日目の記事になります。 Daskとは? Daskとは、numpyやpandasなどのデータを簡単に並列計算するライブラリ。 あまり公式のチュートリアルがわかりやすくない(気がする)ので、基的な使い方は Python Dask で 並列 DataFrame 処理 - StatsFragments を見てみると良い。 サンプルデータ 今回はKagg

    時間のかかる前処理をDaskで高速化 - ぴよぴよ.py
  • 1