4,297 views
この記事は最終更新から 1935日 が経過しています。
1. やりたいこと
pandas の Series 型オブジェクトを作り、一次元データを扱いたい。
2. やってみる
まずは Pythonを起動しておく。
$ python Python 3.6.2 |Anaconda custom (64-bit)| (default, Jul 20 2017, 13:51:32) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
(1) 簡単な一次元データを扱う。
pandas.Series では、一次元データを作れる。
>>> import pandas as pd # pandasパッケージを読み込む。 >>> >>> data = [1,5,2,3,7,4,6] # リスト型データを作る。 >>> a = pd.Series(data) # Pandasの Series型オブジェクトを変数 aとして作る。 >>> a # 変数 aの中身を表示する。 0 1 1 5 2 2 3 3 4 7 5 4 6 6 dtype: int64
生成されたオブジェクトのデータ型を見てみる。
>>> type(a) <class 'pandas.core.series.Series'>
データの個数を確認する。
>>> len(a) 7
n番目の要素にアクセスする。
>>> a[0] 1 >>> a[4] 7 >>> a[6] 6
指定条件を満たす要素だけを取得する。
>>> a[a > 3] 1 5 4 7 5 4 6 6 dtype: int64 >>> >>> a[a > 5] 4 7 6 6 dtype: int64
indexを range型オブジェクト(=iterator型)で取得できる。
>>> a.index RangeIndex(start=0, stop=7, step=1) >>> >>> for i in a.index: ... print(i) ... 0 1 2 3 4 5 6
値は valuesで配列として取得できる。
>>> a.values array([1, 5, 2, 3, 7, 4, 6])
(2) 任意の値をインデックスに持つ一次元データを扱う。
値とインデックスをそれぞれリスト型オブジェクトとして作り、これを pandas.Seriesに入力してオブジェクトを作る。
>>> a = [2,5,6,8,3,9,1] # 値用のリスト型データを作る。 >>> b = ['z','f','A','h','v','o','J'] # インデックス用のリスト型データを作る。 >>> c = pd.Series(a, index=b) # 一次元データオブジェクトを作る。 >>> c z 2 f 5 A 6 h 8 v 3 o 9 J 1 dtype: int64
dictionary型オブジェクトと同様に、各要素に名前インデックスでアクセスできる。
もちろん数字でもアクセスできる。
>>> c['z'] 2 >>> c[0] 2 >>> c['v'] 3 >>> c[4] 3 >>> c['J'] 1
前回 (108) pandasをインストール
次回 (110) pandasの基本的な使い方:二次元データを扱う