どうも!僕です!
つか〇です!
「pandasって何?」
「pandasってパンダみたい!!かわいいの!?」
「pandasで何ができるの?何がうれしいの?」
そんな方に向けて,pandasの基本的な使い方について紹介していきます.
pandasはデータ分析,データサイエンスにおいて必須なようです.
一緒にPythonをマスターしていきましょう!
まずは,pandasのデータ構造である「Series」から解説いたします.
pandas,Seriesのインポート
まずは,pandasというライブラリをインポートしましょう.
pandasは慣習的に「pd」として扱われます.
なので,「pd」ときたら「あ!pandasだ!」と思いましょう.
また,今回扱うSeriesというデータ構造もインポートしなければなりません.
ここでは,以下のようにまとめてインポートを行います.
import pandas as pd
from pandas import Series
ここから,ついにpandasを扱うことになります.
データサイエンスの門が開きました!
わくわくしてきましたね.
データ構造「Series」
「Series」とは,1次元配列のオブジェクトであり,インデックスというデータラベルの配列も含みます.
「インデックスってNumPyでも扱ったやつちゃうの?」
そうです!
「NumPyの基礎① ~NumPyとは?NumPyの構造,扱いを知ろう!!編~」以降で説明したように,NumPyでもインデックスは使いました.
NumPyとpandasのデータ構造との違いは,「インデックスがデータとして含まれているか」どうかです.
NumPyは,あくまでインデックスとしてインデックスを使いましたが(そりゃそうだ),pandasでは,インデックス以外にも意味を持つようになります.
pandasのデータ構造は,表のように縦,横に何のデータかっていうのが言語化されているイメージです.
実際に見てみましょう.
以下のようにして,Seriesのデータ構造は生成できます.
obj = pd.Series([6, -9, 2, 1, 5])
obj
以下が出力になります.
0 6
1 -9
2 2
3 1
4 5
dtype: int64
二つの列が表示されていることがわかります.
左側の列がインデックスを,右側がデータを表しています.
ここでは,データに対してインデックスに指定をしなかったため,デフォルトの0 ~ N-1 のインデックスが作られています.
では,各データを識別しやすいようなインデックスにしてみましょう.
つまり,インデックスに名前を付ける感じです.
この名前をラベルと言ったりします.
obj2 = pd.Series([6, -9, 2, 1, 5], index=["b", "e", "a", "d", "c"])
obj2
「index=」で,ラベルを指示してあげると以下のようにインデックスを数字から指示したラベルに変えることができます.
b 6
e -9
a 2
d 1
c 5
dtype: int64
このインデックスのラベルを使って,値を参照することができます.
obj2["e"]
-9
また,参照して,代入することもできます.
obj2["d"] = 8
obj2[["e", "a", "d"]]
e -9
a 2
d 8
dtype: int64
Numpyと異なって,インデックスのラベルで呼び出せるのが扱いやすいですね.
ここまで扱ってきた,データ配列とインデックスを取得するには,「.values」と「.index」を使うことで,取得することができます.
obj.values
array([ 6, -9, 2, 1, 5], dtype=int64)
「.values」は上記のようにデータ配列を取得します.
一方,「.index」は下記のようにインデックスの情報を取得します.
obj.index
RangeIndex(start=0, stop=5, step=1)
obj2.index
Index(['b', 'e', 'a', 'd', 'c'], dtype='object')
「obj」は「range(5)」と同じデータを取得しています.
「obj2」は付けたラベルをそのまま取得することができます.
以上が基本的なpandasのデータ構造の扱いになります.
まとめ
pandasでのSeriesの基本的な特徴と操作を紹介しました.
これから,もう少し詳しく説明していきたいと思います.
pandasはデータサイエンス,データ分析では必須となるそうです.
なので,基礎をしっかり押さえてじゃんじゃん勉強していきましょう!
データ分析で扱うPythonの基礎は,「Pythonによるデータ分析入門」で学ぶことがお勧めです.
ぜひ参考にしてください.
一緒にPythonをマスターして,市場価値を高めていきましょう!!
コメント