Eng.株式会社イーウェルのエンジニアが社内エンジニア系イベント等の情報を発信するブログです。1.はじめにこんにちは。開発1Gからお送りいたします。私は今年の1月からイーウェルで働き始めており、データ分析を含む、これからのイーウェルの方向性を探るプロジェクトに関わっています。そのプロジェクトの中で、主にデータ分析を行っています。今回は、データ分析の中でも、割と地味ですが重要なデータの前処理に関する技術紹介を。(1)データ分析での問題データ分析では、数万~数十万行のデータを扱うことが頻繁にあります。それらのデータはテキストファイルや、エクセルファイルなどで保存されています。そのファイルサイズは数GB単位になることもあり、エクセルファイルが激重でファイル開くのがやっと・・・ということになります。・Rのsummary()のように集計を一気に出したい。・列全体に対して処理をしたい。matrix化したい。・良く行う処理はひとまとめにしておきたい・・・など。)しなきゃ・・・など、いろいろ出てきます。上記の問題には、アドインなどで対応しなくてはいけないなど、やや使いづらくなる場面があります。データサイエンティストではなくデータマエショリストという言葉(※)もあります。(※)https://tjo.hatenablog.com/entry/2013/11/11/225800さらに、「再現性」の問題もあります。人手が入ると、次に同じことを実行する際に「まったく同じこと」をできない可能性が発生します。目視で最大値を見つけてみたり、グラフのタイトルをいじったりなど・・・エクセルだとつい人手が入ってしまい、再現性が低くなることも。そんな場面で役立つのが、「pandas」です。(2)pandasについてデータ分析業務に使うツールの中に「pandas」(https://pandas.pydata.org/)というものがあります。レポート作成、自動化まで対応できる便利なツールです。(3)エクセルとの対比エクセルとの対比で、pandasを使うメリットは以下のとおりです。・早い:数百万行でも処理可能。・自動化可能(一連の処理を関数として作成して1クリックで済む)※excelマクロでも可能ですが、処理速度や使える関数の豊富さでpandasの方が強いです。・(エクセルのように)ダブルクリックでファイルが起動しない。ex:コピペが直観的にできない。・変な形式のデータ(先頭行に題名が入っている。セルが結合されてる、など)は扱いにくい。・Pandasの文法を少し覚えないといけない。以下、エクセルでやる動作と、pandasで同じことを実現するために書くコードを対比していきます。pandasで効率化可能かがわかるかと思います(エクセルも便利ですけどね)。最初はpandasの操作になれる必要がありますが、効率的に(かつ再現性を持って)作業ができると思います。・ランチ交流...2016-06-16ジョブ運用効率化こんにちは。はてなブログPro株式会社イーウェルのエンジニアが社内エンジニア系イベント等の情報を発信します。(27)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。