Python
numpy
pandas

そもそもPandasとNumpyって何が違うの?

そもそもPandasとNumpyって何が違うのか?

pythonを使ってデータ分析する中で、よく出てくるPandasとNumpyの違いがわからなかったので、備忘録として書きます。

PandasとNumpyの違いをまとめると...

Pandasは文字も整数も小数も持てるけど、Numpyは全ての要素が同じ型でしか持てないみたいです。
じゃあPandasで全部処理すればいいのでは?と思うかもしれませんが、そうでもないみたいで、機械学習ライブラリのscikit-learnはNumpy配列として計算するので、Numpyに変換する必要があるみたいですね。

じゃあ実際はどうしたらいいのか?

色々言われてもわからないと思うので、とりあえずは以下の流れを汲んでおけばいいみたい。
じゃないと...
AttributeError: 'numpy.ndarray' object has no attribute ''とかとか出てくると思います。

1.pandasでcsvファイルを読み込む
2.pandasでcsvファイルのデータを加工する(文字列の数値変換、欠損値の補完等)
3.pandasのデータフレームからNumpy配列に変換する(pandasの列指定して読み込めば勝手にNumPyの配列になります)
4.指定したデータをscikit-learnで機械学習処理する
5.scikit-learnでできたモデルを評価する