In [1]:
import numpy as np
from pandas import Series,DataFrame
import pandas as pd
In [2]:
ser1 = Series(np.arange(3),index=['A','B','C'])
# 各要素を2倍します。
ser1 = 2*ser1
ser1 
Out[2]:
A    0
B    2
C    4
dtype: int64
In [3]:
ser1['B']
Out[3]:
2
In [4]:
# 数字の添え字でもアクセスできます。
ser1[1]
Out[4]:
2
In [5]:
# 数字の添え字で範囲も指定できます。
ser1[0:3]
Out[5]:
A    0
B    2
C    4
dtype: int64
In [6]:
# 文字列のindexをリストで与えることも可能です。
ser1[['A','B','C']]
Out[6]:
A    0
B    2
C    4
dtype: int64
In [7]:
# 論理式を与えることもできます。
ser1[ser1>3]
Out[7]:
C    4
dtype: int64
In [8]:
# 条件に合った場所の値を変更できます。
ser1[ser1>3] = 10
ser1
Out[8]:
A     0
B     2
C    10
dtype: int64
In [10]:
# DataFrameの場合
dframe = DataFrame(np.arange(25).reshape((5,5)),index=['NYC','LA','SF','DC','Chi'],columns=['A','B','C','D','E'])
dframe
Out[10]:
A B C D E
NYC 0 1 2 3 4
LA 5 6 7 8 9
SF 10 11 12 13 14
DC 15 16 17 18 19
Chi 20 21 22 23 24
In [12]:
# 列(カラム)の名前で選択
dframe['B']
Out[12]:
NYC     1
LA      6
SF     11
DC     16
Chi    21
Name: B, dtype: int64
In [13]:
# リストで、複数のカラムを選択できます。
dframe[['B','E']]
Out[13]:
B E
NYC 1 4
LA 6 9
SF 11 14
DC 16 19
Chi 21 24
In [14]:
# 論理式を与えることも可能
dframe[dframe['C']>8]
Out[14]:
A B C D E
SF 10 11 12 13 14
DC 15 16 17 18 19
Chi 20 21 22 23 24
In [15]:
# 真偽値(ブーリアン)をそのまま表示することも可能です。
dframe> 10
Out[15]:
A B C D E
NYC False False False False False
LA False False False False False
SF False True True True True
DC True True True True True
Chi True True True True True
In [16]:
# すでに出てきていますが、ixを使うと、行を選択できます。
dframe.ix['LA']
Out[16]:
A    5
B    6
C    7
D    8
E    9
Name: LA, dtype: int64
In [17]:
# ixには、数字の添え字も渡せます。
dframe.ix[1]
Out[17]:
A    5
B    6
C    7
D    8
E    9
Name: LA, dtype: int64