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
となります。