(109) pandasの基本的な使い方:一次元データを扱う

投稿者: | 2019年10月29日

4,297 views

この記事は最終更新から 1935日 が経過しています。

1. やりたいこと

pandasSeries 型オブジェクトを作り、一次元データを扱いたい。

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の基本的な使い方:二次元データを扱う


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です