シェアする

  • このエントリーをはてなブックマークに追加





【python】pandasでデータを操作する

シェアする

  • このエントリーをはてなブックマークに追加
  • 0

最近は、データ分析なんかを担当しているので、

awsのs3に散りばめられたcsvと格闘することが多いです。

それを処理するために主に使用する言語がpythonなのですが、

テキストデータを扱うためにpandasというライブラリを使用しています。

今回はpandasで僕が使用している機能とその使い方の

サンプルコードを記載しようかと思います。

pandasとは

公式によれば

pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool,
built on top of the Python programming language.

とのことで、高速で柔軟、かつ簡単にデータ分析や操作を行うための

オープンソースで、python上で構築されていますよ。

ということですね。

使い勝手は、sparkのDataFrameに似ているなー思いましたが、

よくよく考えたら、相互変換できるので、

sparkの方がリスペクトしている感じになるのかしら??

spark側はファイル出力でファイル名が決められないとか、

sparkのContext上でなければsparkのDataFrameは扱えない(まー当然ですね。)

など制約の上で使用しないといけません。

pandasは単体で使用できるので、

使いやすいというか、使えるシーンが結構あるなーという

印象を受けました。

pandasのインストール

インストールは例によってpipで行います。

csvファイル読み込み

これを実行すると、全レコードの内容が出力されます。

ここではローカル環境のファイルを指定していますが、

s3プロトコル(S3://~)にも対応しています。

行ごとのデータ処理

行ごとにデータを処理するには、以下のようにします。

csvファイル出力

csvファイル出力するには以下のようにします。

DataFrame結合

DataFrame同士を結合するには、以下のようにします。

この場合、結合するDataFrame同士のカラムが自動でマージされます。

同一のカラム同士であれば、

のようになります

結合しただけだと、行番号の値が元のDataFrameのままになってしまうので、

振り直す場合は、


としておきましょう。

また、データ構成の全く違うDataFrame同士も結合できて、

このように各々のカラムがマージされて(SQLでいうunion allな感じ)

で出力されます。

sqlチックに

データ抽出

データ抽出には、queryメソッドを使うパターンや、DataFrameに直接

条件を指定するパターンがあります。

sqlを直接文字列で渡すことができるpandasqlなんていうライブラリもあります。

まとめ

正直、まだまだたくさん機能がありすぎて紹介しきれないところなのですが、

今回記載したメソッドがあれば、まずまず必要な処理は書くことができると思います。

深く機能をしればますます便利に使用できますので、

みなさんもぜひ使ってみてください。

それでは!!

ブログランキング・にほんブログ村へ
にほんブログ村


人気ブログランキング

20代前半までは東京で音楽をやりながら両手の指以上の業種でアルバイト生活をしていましたが、某大手プロバイダのテレアポのバイトでPCの知識の無さに愕然とし、コンピュータをもっと知りたい!と思ったことをきっかけに25歳の時にITの世界に未経験で飛び込みました。
紆余曲折を経て、現在は個人事業主としてお仕事させていただいており、10年ほどになります。
web制作から企業システム構築、ツール開発など、フロントエンドもバックエンドもサーバーもDBAも依頼があれば何でもやってきた雑食系エンジニアです。

今風にいうとフルスタックエンジニアということになるのかしら??

→ 詳細プロフィールというか、生い立ちはこちら

→スキルシートをご覧になる場合はこちら

→お仕事のご依頼やお見積りなどお問い合わせはこちらから!

シェアする

  • このエントリーをはてなブックマークに追加

フォローはいかがですか?