Pandas Seriesを極める

numpy に勤しみましたが、今度はPandasに挑戦しましょう。

Pandasとは

Pythonのライブラリーの1つ。んん?と思った方、分かり易く説明しましょう。Pythonだけだと何も入れていないスマホのイメージです。そこにアプリを入れることで、LINEができたり、ゲームができたり、インスタなども可能になります。ライブラリーはそんな『アプリ』のようなイメージだと分かり易いと思います。

Pandasを使えば、データ分析が効率的に行えます。import pandas as pd を動かす前にインポートしておくことが必須です。ちなみに、as pd で、pandasを使う時は以後pd とします!と宣言しています。

numpyとの違い

枚挙にいとまがないですが、csvなど読み込みたいデータをスルッとリードできる等が優れていると個人的には思います。あと、視覚的にも見やすくてよいです。

では、その基礎の基礎。Seriesを学びましょう。

Seriesとは

1次元のリストです。とにかく数列が並んでいることをイメージすればそれでよしです。

1次元:Series  2次元:dataframe 

という理解でまずは問題ないと思います。Seriesは、pd.Series()で作成。今回は0から始まる5つの整数をSeriesにします。

import pandas as pd
import numpy as np
Se1 = pd.Series(np.arange(5))
Se1

実行結果:

0    0
1    1
2    2
3    3
4    4
dtype: int32

あれれ?

横に数字が付いているじゃないの・・

そう、これもnumpyとの大きな違い、『インデックスが付く』です。

このインデックスを詳しくみてみましょう。

インデックスの確認

Se1.index

実行結果:

RangeIndex(start=0, stop=5, step=1)

となります。RangeIndexは、range()関数のrangeなので、『デフォルトで0から始まるインデックス』と解釈しています。start=0, stop=5, step=1を考えても正にその通りですね。

では、内容(今回の場合はarray)だけを確認したい場合。

内容の確認

Se1.values

実行結果:

array([0, 1, 2, 3, 4])

となります。


Seriesの内容にアクセス

例えば、3番目の要素にアクセスしたい時は、0・1・2なので『2』。

Se1[2]

実行結果:

2

でアクセス可能です。


Seriesのインデックスを任意にしたい

デフォルトだとindexは0から始まります。自分の好きなインデックスにもできます。a,b,a,bにしたい場合は、

sel2 = pd.Series([1,2,3,4],index = ["a","b","a","b"])
sel2

実行結果:

a    1
b    2
a    3
b    4
dtype: int64

となります。

いいなと思ったら応援しよう!