はじめに
今回からデータ解析のためのPythonライブラリであるPandasを扱います。まずはPandasの2つの主要なデータ構造であるSeriesとDataFrameのうち、Seriesについて基本から解説します。Seriesとは何かの確認から始めて作り方までをみていきましょう。
Series
Seriesとは
Pandasには2つの主要なデータ構造の1つであるSeriesは、リストのように順序を持った一次元のデータ列とそのデータが何であるかを表すラベルを持つオブジェクトです。
つまり、データ(values)とそれに対応する行ラベル(index)を持つ1次元データ構造でありデータには順番がある、ということです。
Seriesの作り方
作り方は大別すると、辞書から作る場合と配列(リストやndarrayなど)から作る場合があります。まずは辞書から作る場合を見ていきましょう。
辞書からSeriesを作る
では、早速やってみましょう。pd.Series()に辞書を指定するだけですね。
# ライブラリのインポート
import numpy as np
import pandas as pd
# 辞書の作成
sample_dic = {
'No':1,
'Name':'らくだ',
'Age':32,
'Zoo':'旭山動物園'
}
# 辞書からシリーズを作成
pd.Series(sample_dic)
1~3行目でライブラリのインポートをしています。ここではNumpyとPandasをすれぞれ「np」「pd」で使えるようにしています。
次に5~11行目ではSerriesを作るための辞書データを作成しています。
最後に13-14行目で辞書からSeriesを作成しています。
できました!Seriesをこのように作ると、辞書が1つのレコードになります。
配列からSeriesを作る
次に配列からSeriesを作ってみましょう。ここではndarrayから作ってみましょう。
# ndarrayの作成
# ndarrayの作成
sample_array = np.array([1,'らくだ',32,'旭山動物園'])
# ndarrayからSeriesの作成
pd.Series(sample_array)
できました!このように簡単に作ることができます。Seriesは、データ(values)とそれに対応する行ラベル(index)を持つ構造でした。ndarrayを指定する方法では、行ラベルの指定をしないと自動で連番が振られます。次に、index引数でラベルを付けてみましょう。
# indexを指定してSeriesを作成
pd.Series(sample_array,index=['No','Name','Age','Zoo'])
このようにindexにラベルを付けることができました!
Seriesから値を取り出す
Seriesから値を取り出すのは簡単です。辞書と同様の方法でSeriesオブジェクトに対して角括弧[]でラベルを指定すればOKです。
# 変数にデータを格納
sample_series = pd.Series(sample_array,index=['No','Name','Age','Zoo'])
# Seriesからデータを抽出
sample_series['Zoo']
まとめ
今回はNumpyの主要なデータ構造の1つであるSeriesについて扱いました。Seriesとは何かを確認して、その作り方までの基本を解説しました。
コメント