プロジェクト

全般

プロフィール

Python Pandas

はじめに

公式サイト

https://pandas.pydata.org

公式サイトのドキュメントメモ

10 minutes to pandas

インストールとセットアップ

pip install pandas

慣習的に、pdの別名でpandasモジュールをインポートします。

import pandas as pd

簡単なpandasの概要

pandasは、データフレームという構造でデータを保持し、ファイルからデータフレームへの読み込みとファイルへの書き出し、データフレームのデータ解析を行うライブラリです。
データフレームは、行と列で構成される表形式のデータ構造です。
読み込み・書き出し可能なファイル形式は、csv, Excel, HTML, HDF5, JSON, 他です。
df = pd.read_csv("foo.csv")

データの可視化(プロット)は範疇外です。matplotlibなどの別ライブラリと組み合わせます。

データ構造には1次元のベクトルも提供され、v = pd.Series([1, 2, 3, 5, 7]) のように使います。

APIの使い方

外部データの読み込み

CSVファイルの読み込み

ヘッダー付きのCSVファイルを読み込み、DataFrameオブジェクトに格納します。

df = pd.read_csv('sample_with_header.csv')
  • コメント行を読み飛ばすには、comment='#' のようにオプションを指定
  • ヘッダーが先頭行にない場合は、行数が分かれば skiprows=3 のように先頭から指定行を読み飛ばす
  • ヘッダーを置き換えたい場合、namems=('A', 'B', 'C') header=0 と指定
    • header=None と指定すると、CSVファイルの先頭がデータとして読み込まれてしまう
    • データの列数と列名のリストの要素数がミスマッチの時は、列名が後ろに合うように付与される模様
  • 読み込んだデータの行数、列数:df.shape タプルで(行数、列数)が返る
  • ヘッダーの列名リスト:df.columns
  • データのリスト:df.values

ヘッダーなしのCSVファイルを読み込み、列名の情報を別途与えてDataFrameオブジェクトに格納

column_names = ['id', 'code', 'name', 'quantity']
df = pd.read_csv('sample_without_header.csv', names=column_names, header=None)
  • ヘッダーのないCSVファイルからデータを読み込むとき(先頭からデータとして読み込む)、header=None を指定

DataFrameへのアクセス

DataFrameからデータの取り出し

  • データを行列を数値で指定して取得:df.iloc[0,2] 0オリジンで行と列を指定
  • データを行番号、列名で指定して取得:df.loc[2, "age"] 3行目の列名ageに対応する列を指定
    • 複数の行、または列の指定も可能、スライスまたはリストで指定
    • 列名をリストで指定したとき、名前付きタプルらしきものが返る df.loc[1, ["name", "age"]]


10ヶ月前に更新