Pandasの基礎 | Python【忘備録】

Python
スポンサーリンク

Pandasの基礎

PandasとはPythonでデータ分析を効率的に行うためのライブラリで、数値データや文字列データを扱うことができるため、データを適切に把握して、不要なデータを取り除いたり必要なデータを精査する前処理を効率的にすることに適している。

データ構造

PandasはSeries, DataFrameの二種類のデータ構造がある。

一次元の配列をSeries
・DataFrameの行もしくは列として捉えることができる

二次元のテーブルをDataFrame
・横方向のデータを行(インデックス)、縦方向のデータを列(カラム)と呼ぶ。

Pandas公式ドキュメント
https://pandas.pydata.org

pandasのインポート

#pandasはpdとしてimportされる
import pandas as pd

pandasの操作

kaggleのTitanicのデータセットを使ってPandasの操作を行う。
Titanic: Machine Learning from Disaster
https://www.kaggle.com/c/titanic/data

#read_csvでTitanicのデータを読み込む
df = pd.read_csv('train.csv')
#headで先頭5行のデータを確認
df.head()

#最後尾の5行のデータを確認
df.tail()

#読み込んだデータがどんなものなのか概要を掴む
print('dataframeの行数,列数の確認: \n', df.shape)
print()
print('indexの確認:\n', df.index)
print()
print('カラムの確認:\n', df.columns)
print()
print('dataframeの各列のデータ型,欠損値を確認: \n', df.info())
#行数891(インデックスは0から890)、列数は12、dtype(データ型)はint64、float64、object型、各列の列名などが確認できる

describeで各列の要約統計量(平均、標準偏差など)を取得

#データの雰囲気を掴むのにとても便利
df.describe()

#順番に個数、平均値、標準偏差、最小値、四分位数、最大値

対象となる型を指定する(include, exclude)

数値型以外の列に対してようやく統計量を取得するには、引数include, excludeを設定する。
include :結果に含める型
exclude :結果から除外する型
※列名ではなく型を指定する

#数値データとオブジェクトデータに関する情報を合わせて表示
df.describe(include = 'all')

#引数にinclude=['O']を指定することで、オブジェクト型(str型など)に関する情報を表示。
#表示される情報は上から順番にデータ数(count)、重複を排除したデータ数(unique)、最も多く含まれるデータ(top)、そのデータが含まれる個数(freq)
df.describe(include=['O'])

グループ化

グループ化はある特定の列について同じ値を持つ行を集約すること。
DataFrame型の変数dfに対して
df.groupby(‘カラム’)
groupbyオブジェクトに対してmean()や、sum()など演算を行うことができる。

#Pclassでグループ化
#as_index = Falseを指定すると、indexとして扱うのをやめてくれる
#sort_values(by = '列名')で要素の値に応じてソートする
#昇順、降順を指定する場合、デフォルトは昇順、降順にする場合はascendingをFalseにする。

df[['Pclass', 'Survived']].groupby(['Pclass'], as_index = False).mean().sort_values(by = 'Survived', ascending = False)


コメント