kabaohのブログ

仕事ができなすぎて辛いので、趣味に逃げるカバ野郎

自分でタイタニックのチュートリアルを解く(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に答えが。

stackoverflow.com

つまりrow=0,column=1とのこと。ふむふむ。

まだ解析進められていないが、とりあえずこんな感じでちまちま進めていきます。