自分でタイタニックのチュートリアルを解く(6)
閑話休題
ようやく、実データの解析やっていこうかなって思っている。
まず、データの読み込み。今回は元データはcsvなのでcsvのimportを行う
df=pd.read_csv("データの場所")
で読めるので読み込んでおく。そのあと
dfとかdf.head()とかでちゃんと読み込めてるか確認可能。
Jupyter notebookを使ってると綺麗に表示してくれて嬉しい。
データ見るまでは、解析にCabin番号とかで傾向みれるかなって思ってたけど
NaNのデータが多い。isnull()って関数の説明見ると
"To get the boolean mask where values are nan"
だそうなので、これでNaNの数を数えられて
pd.isnull(df["Cabin"]).sum()
で数を確認したところ687とのこと。
ちょっと多すぎるので却下。年齢は177個の欠損データ。
行けそうな気がするけど、本当にそれでいいのかっていう判断は
ちゃんと統計学とか勉強しないとわからん。とりあえず今回はいいとする。
Cabin邪魔なので、除外!!!
df = df.drop(["Cabin"])
どーん!
だーん!
ValueError Traceback (most recent call last) <ipython-input-66-f7b8e0897ea1> in <module>() ----> 1 df = df.drop(["Cabin"]) /Users/******/anaconda/lib/python3.5/site-packages/pandas/core/generic.py in drop(self, labels, axis, level, inplace, errors) 1615 new_axis = axis.drop(labels, level=level, errors=errors) 1616 else: -> 1617 new_axis = axis.drop(labels, errors=errors) 1618 dropped = self.reindex(**{axis_name: new_axis}) 1619 try: /Users/******/anaconda/lib/python3.5/site-packages/pandas/core/index.py in drop(self, labels, errors) 2801 if mask.any(): 2802 if errors != 'ignore': -> 2803 raise ValueError('labels %s not contained in axis' % labels[mask]) 2804 indexer = indexer[~mask] 2805 return self.delete(indexer) ValueError: labels ['Cabin'] not contained in axis
...あれ?
axisとか言うの指定する必要ある?
っていうことで再度挑戦
df = df.drop(["Cabin"],axis=1)
どーん
大丈夫そう。これaxis=2とかならどうなるのかしらとおもい
df = df.drop(["Cabin"],axis=2)
どーん
だーん
ValueError: No axis named 2 for object type
ぐぬぬ。
axisって何を与えられるのかしら?っておもったら
Stack-Overflowに答えが。
つまりrow=0,column=1とのこと。ふむふむ。
まだ解析進められていないが、とりあえずこんな感じでちまちま進めていきます。