タグ

Pythonとpandasに関するMarukosuのブックマーク (12)

  • 新しいデータ処理ライブラリの学習はもう不要! Python 初学者のための Ibis 100 本ノック - Qiita

    新しいデータ処理ライブラリの学習はもう不要! Python 初学者のための Ibis 100 ノックPython機械学習pandasデータ分析ibis-framework Information 2024/1/14: Kaggle notebook for Ibis Kaggle で Ibis を使用するための Sample Notebook を用意しました。Kaggle でもぜひ Ibis をご活用下さい。 🦩 [Ibis] Kaggle-Titanic-Tutorial Ibis 100 ノック補足記事 Ibis 100 ノックについて、よりスマートな書き方等について @hkzm さんが補足記事を書いてくれました(この記事を参考にコンテンツのほうもブラッシュアップしたいと思います)。 Ibis 100 ノックの記事を受けて はじめに どうもこんにちは、kunishou です。

    新しいデータ処理ライブラリの学習はもう不要! Python 初学者のための Ibis 100 本ノック - Qiita
  • たった数行で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でwebページの表(htmlのtable)をスクレイピング | note.nkmk.me

    pandasを使うと、webページの表(tableタグ)のスクレイピングが簡単にできる。DataFrameとして取得したあとで、もろもろの処理を行ったり、csvファイルとして保存したりすることももちろん可能。 なお、webページの表をコピーして、クリップボードの内容をDataFrameとして取得する方法もある。以下の記事参照。 関連記事: pandasでクリップボードの中身をDataFrameとして取得するread_clipboard ここでは、具体例を含めて以下の内容を説明する。 pandas.read_html()でデータ取得 Yahoo!ファイナンスから時価総額ランキングを取得 WikipediaPythonのページからバージョンの履歴を取得 DataFrameを後処理 なお、具体例については対象のWebサイトの更新によってサンプルコードが動かなくなっている可能性があるので注意。ま

    Python, pandasでwebページの表(htmlのtable)をスクレイピング | note.nkmk.me
  • pandas.DataFrame のforループをゆるふわ△改良して300倍高速化する - くないらぼ

    主張:高速化は最後のおたのしみにしましょう。 無駄にいじいじして高速化させて満足し、結局その後はほとんど使わなかったなあ、、、が私の日常です。 えらい人も言っていますが、高速化なんてホント最後でいいんです・・・。 今まで何十回後悔したことか。。。(これからもまたやりますが。) pythonであれば numba,cython,swig など、コンパイルしちゃう系の力(パワー)を借りることで、 全く同じアルゴリズムでもざっくり100倍単位で簡単に高速化できます。 しかし、このやり方ではpythonのインタープリターなゆるふわ△言語の良さを(該当コード部分において)捨ててしまいます。結局C/C++に魂を売っているだけです。 私は魂を売ることそれ自体が好きなので良いですが、この行為はpythonの持つ別の面での高速性、つまり "生産性の高さ" を犠牲にしています。 コードの実行スピードが速くなって

    pandas.DataFrame のforループをゆるふわ△改良して300倍高速化する - くないらぼ
  • Kaggleで使える!Pandasテクニック集 - Qiita

    はじめに Kaggleで使えるPandasの使い方を備忘録として残します。 随時更新していく予定です。 更新:2019年1月29日15時 様々なコンペで使える便利な関数を追記しました。 Pandas Basics Cheat Sheet(基的な使い方) [引用]https://becominghuman.ai/cheat-sheets-for-ai-neural-networks-machine-learning-deep-learning-big-data-678c51b4b463 プログレスバーを表示する df.apply()やdf.map()の進捗を見たい時に、 tqdmというライブラリを使うことでプログレスバーを表示することができます。 import pandas as pd import numpy as np from tqdm._tqdm_notebook import t

    Kaggleで使える!Pandasテクニック集 - Qiita
  • pandasで1000万件のデータの前処理を高速にするTips集 - Qiita

    はじめに 当社にアルバイトに来ていた人(来春に新卒入社の予定)に「pandasを高速化するための情報は無いですか?」と尋ねられました。 このパッケージの使い方は多数の書籍やWebで体系立った記事で書かれています。 しかし、高速化に関しては体系的な情報源が思いつかなかったので、「実際に書いてみて、1つ1つチューニングするしかないです」としか答えられませんでした。 そこで、この方を始め、来春(2019年4月)にデータアナリストまたはデータサイエンティストになる新卒へ向けて、pandasの高速化に関する私の経験をTips集にしてお伝えしたいと思います。 この記事は今後も内容を充実させるために、Tipsを追加していきます。 この記事を読んだ後にできるようになること pandasでレコード数1000万件のデータでも1分以内で完了する前処理が書けるようになります。 その結果、1日中実行し続けなければな

    pandasで1000万件のデータの前処理を高速にするTips集 - Qiita
  • Kaggleで使えるpandasテクニック集 - 天色グラフィティ

    PythonでKaggleなどのデータ分析を行う際、pandasでゴリゴリ作業をすることが多いかと思います。 最近知って「めっちゃ便利やん!」ってなったものをまとめておきたいと思います。 全部の関数にドキュメントへのリンクを付けたので参考にしてください。 今回も検証にはTitanicのデータセットを用います。また、文中でのdf.hoge()はpandasのDataFrameのメソッドであることを、pd.hoge()はpandasの関数であることを表します。 df = read_csv('input/train.csv', index_col=0) print(df.shape) df.head() 最低限押さえておきたいやつら まずはここから。 10 Minutes to pandas よく使うやつら。詳しい解説は省略するので、ドキュメントのリンク先を見てください。 関数 内容 リンク d

    Kaggleで使えるpandasテクニック集 - 天色グラフィティ
  • pandasでデータを読み込むときに気を付けること(dtypeの指定) - Qiita

    dtypeに何も指定せずにいると、勝手に型を判別してしまいます。 例えば以下のようなタブ区切りのデータがあった場合 data_1.txt id x01 x02 x03 x04 x05 x06 x07 x08 x09 x10 0001 0.54 0.54 0.85 0.79 0.54 0.36 0.28 0.52 0.21 0.49 0002 0.72 0.68 0.77 0.69 0.07 na 0.29 0.42 0.32 0.51 0003 0.68 0.99 0.19 0.16 0.31 0.76 0.57 0.08 0.07 0.98 0004 0.98 na 0.49 0.47 0.09 0.52 0.42 0.35 0.83 0.64 0005 0.37 0.35 0.99 0.88 0.81 0.46 0.57 0.47 0.06 0.55 # coding: UTF-8 i

    pandasでデータを読み込むときに気を付けること(dtypeの指定) - Qiita
  • PythonでCSVを高速&省メモリに読みたい - tkm2261's blog

    今日はPython (Pandas)で高速にCSVを読むことに挑戦したいと思います。 Kaggleに参加するたびに、イライラしていたので各実装の白黒はっきりさせようと思います。 R使いが羨ましいなぁと思う第一位がCSV読込が簡単に並列出来て速いことなので、 なんとかGILのあるPythonでも高速に読み込みたいと思います。 ただ、この検証ではコーディング量が多いものは検証しません。 CSV読込は頻出するので、フットワークの軽さが重要です。(オレオレライブラリ嫌い) Pickleは早いけど。。。 結論はDask使おう! 検証環境 データ 速度検証 pandas.read_csv() pandas.read_csv() (dtype指定) pandas.read_csv() (gzip圧縮) numpy.genfromtxt() pandas.read_csv() (chunksize指定 +

    PythonでCSVを高速&省メモリに読みたい - tkm2261's blog
  • pandasで複数条件のAND, OR, NOTから行を抽出(選択) | note.nkmk.me

    pandasで複数の条件のAND, OR, NOTからpandas.DataFrameの行を抽出する方法を説明する。 注意点は二つ。 &、|、~を使う(and、or、notだとエラー) 比較演算子を使うときは条件ごとに括弧で囲む(括弧がないとエラー) なお、ここではブーリアンインデックス(Boolean indexing)を用いた方法を説明するが、query()メソッドを使うとより簡潔に書ける。 関連記事: pandas.DataFrameの行を条件で抽出するquery 記事のサンプルコードのpandasのバージョンは以下の通り。以下のpandas.DataFrameを例として使う。 sample_pandas_normal.csv import pandas as pd print(pd.__version__) # 2.0.3 df = pd.read_csv('data/src/s

    pandasで複数条件のAND, OR, NOTから行を抽出(選択) | note.nkmk.me
  • pandas.DataFrameのforループ処理(イテレーション) | note.nkmk.me

    pandas.DataFrameをfor文でループ処理(イテレーション)する場合、単純にそのままfor文で回すと列名が返ってくる。繰り返し処理のためのメソッドiteritems(), iterrows()などを使うと、1列ずつ・1行ずつ取り出せる。 ここでは以下の内容について説明する。 pandas.DataFrameをそのままforループに適用 1列ずつ取り出す DataFrame.iteritems()メソッド 1行ずつ取り出す DataFrame.iterrows()メソッド DataFrame.itertuples()メソッド 特定の列の値を順に取り出す ループ処理で値を更新する 処理速度 Pythonにおけるfor文についての詳細は以下の記事を参照。 関連記事: Pythonのfor文によるループ処理(range, enumerate, zipなど) 以下のpandas.Data

    pandas.DataFrameのforループ処理(イテレーション) | note.nkmk.me
  • Python + matplotlib によるヒートマップ - Qiita

    Python と matploblib によるデータ可視化についてはすでに pandas + matplotlib による多彩なデータプロッティングや pandas を利用してデータセットの可視化を素早く試行する、 matplotlib (+ pandas) によるデータ可視化の方法などでさまざまな方法を説明してきました。 今回はヒートマップを描くわけですが、その前にあらためで可視化の方法についておさらいしましょう。 配列からのデータ可視化方法のまとめ ここでのデータ可視化とは配列からなるポピュラーな図示をさしています。配列とは、複数の属性値を持ち、 1 つのデータが 1 つの行で表されるデータの形式です。 いろいろなバリエーションがありますが、主軸となる代表的な可視化方法をまとめます。 棒グラフ (bar) データの大きさの比較に適したグラフです。縦や横に描画する方法、積み上げる方法、複

    Python + matplotlib によるヒートマップ - Qiita
  • 1