Pythonメモ >

pandasでデータ解析

pandasとは

Pandas は Pythonのデータ解析用のライブラリ。
CSVやテキストファイルなど様々なフォーマットの1次元、2次元データを扱う事ができ、
基本的な各種データ操作(読込、追加、更新、削除)はもちろん、集計、グループ化、時系列データ操作などの様々な機能がある。

pandas と numpy

numpy は主に多次元配列の数値データを扱う事に特化したライブラリ。
数値データ以外を殆ど扱えない代わりに高速に動作する。

pandas は 内部で numpy を利用しつつ使いやすくしたもの。
pandas では抽象化や関数ラップによって、様々な演算を利用しやすくなっているが、素の numpy を使用した方が数値演算は高速に行う事ができる。

インストール

普通に pip install するだけ。

pip install pandas

※numpy などの他に必要なライブラリもインストールされる。

1次元データの操作

1次元データの操作は pandas の最も基本的なオブジェクトである Series を利用する。
※以下では記載しないが numpy の ndarray から作成する事も出来る。

リストからSeries を作成する。

import pandas as pd

series = pd.Series([1,2,3,4,5])
print(series)

結果

0     1
1     2
2     3
3     4
4     5
dtype: int64

インデックスに連番以外を指定する事も可能

import pandas as pd

series = pd.Series([1,2,3,4,5], index=['one','two','three','four','five'])
print(series)

結果

one      1
two      2
three    3
four     4
five     5
dtype: int64

後からインデックスを指定する事も可能

import pandas as pd

series = pd.Series([1,2,3,4,5])
series.index = ['one','two','three','four','five']
print(series)

結果

one      1
two      2
three    3
four     4
five     5
dtype: int64

辞書からSeries を作成する。

検索エンジンのシェアを格納した dict を Series化してみる。
http://gs.statcounter.com/search-engine-market-share

import pandas as pd

# 辞書から作成
series = pd.Series({"google": 92.31, "yahoo": 2.51, "bing": 2.27})
print(series)

結果

google    92.31
yahoo      2.51
bing       2.27
dtype: float64

Seriesで提供される属性とメソッド

めちゃくちゃいっぱいある。
https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.Series.html

series = pd.Series([1,2,3,4,5,4,6,1,3,4])

print(series.size)  # サイズ
print(series.values)  # 値のリスト
print(series.sum())  # 合計値
print(series.mean())  # 平均値
print(series.gt(2))  # 2より大きいもの
print(series.head(2))  # 先頭の2つ
print(series.max())  # 最大値
print(series.to_json())  # jsonに変換
print(series.filter(regex="3"))  # 添字の正規表現
print(series.drop_duplicates())  # 重複排除

2次元データの操作

2次元データの操作には DataFrame を利用する。

2次元データの作成

2次元データは DataFrame を利用して作成する。

XXXX

その他の基本的なメソッド

csvデータを読み込む

XXXX

XXXX

XXXX


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS