In [3]:
import pandas as pd
In [4]:
train = pd.read_csv('train.csv')
In [5]:
type(train)
Out[5]:
pandas.core.frame.DataFrame

trainはDataFrameオブジェクト

In [6]:
train.columns
type(train.Age)
Out[6]:
pandas.core.series.Series

trainはヘッダーの名前で各カラムにアクセスできる。 ちなみにtrain.AgeはSeriesオブジェクトというもので、リストみたいだけど、統計処理に便利なメソッドをもってる。

In [7]:
train.Age.head()
Out[7]:
0    22
1    38
2    26
3    35
4    35
Name: Age, dtype: float64

Rで便利なheadも使える。

In [8]:
print train.describe()
       PassengerId    Survived      Pclass         Age       SibSp  \
count   891.000000  891.000000  891.000000  714.000000  891.000000   
mean    446.000000    0.383838    2.308642   29.699118    0.523008   
std     257.353842    0.486592    0.836071   14.526497    1.102743   
min       1.000000    0.000000    1.000000    0.420000    0.000000   
25%     223.500000    0.000000    2.000000   20.125000    0.000000   
50%     446.000000    0.000000    3.000000   28.000000    0.000000   
75%     668.500000    1.000000    3.000000   38.000000    1.000000   
max     891.000000    1.000000    3.000000   80.000000    8.000000   

            Parch        Fare  
count  891.000000  891.000000  
mean     0.381594   32.204208  
std      0.806057   49.693429  
min      0.000000    0.000000  
25%      0.000000    7.910400  
50%      0.000000   14.454200  
75%      0.000000   31.000000  
max      6.000000  512.329200  

これは、summary()的なやつ。

In [12]:
train.Age[0:10]
Out[12]:
0    22
1    38
2    26
3    35
4    35
5   NaN
6    54
7     2
8    27
9    14
Name: Age, dtype: float64

train.Age[5]がNaNになってる。

In [14]:
train.Age[0:10].isnull()
Out[14]:
0    False
1    False
2    False
3    False
4    False
5     True
6    False
7    False
8    False
9    False
Name: Age, dtype: bool

isnull()を使うと、Trueが返る。

In [39]:
train.Age = train.Age.fillna(train.Age.mean())
Out[39]:
0     22.000000
1     38.000000
2     26.000000
3     35.000000
4     35.000000
5     29.699118
6     54.000000
7      2.000000
8     27.000000
9     14.000000
10     4.000000
11    58.000000
12    20.000000
13    39.000000
14    14.000000
...
876    20.000000
877    19.000000
878    29.699118
879    56.000000
880    25.000000
881    33.000000
882    22.000000
883    28.000000
884    25.000000
885    39.000000
886    27.000000
887    19.000000
888    29.699118
889    26.000000
890    32.000000
Name: Age, Length: 891, dtype: float64

fillna('NaNを埋める数値')が便利!!