#pandasとは
Pythonにて、構造化データ(テーブル型のデータ)を扱うためのライブラリです。ファイルの読み込みやその後の加工・抽出処理などを簡単に行うことができ(SQL的な感覚で行うことができ)、機械学習などのデータの前処理で必須となるライブラリです。
他項目への目次はこちらになります。
#はじめに
本記事では、index、columns操作です。
pandasでは、テーブル型(スプレッドシート型)のデータを扱うため、行と列という概念が必要となります。最初はあまり意識しなくても良いのですが、この理解がないと躓く場面があるので、簡単にまとめます。
行がindexで、列がcolumnsです。Excelというと「縦の1,2,3,,,」がindexで、「横のA,B,C,,,」がcolumnsです。
これらは値ではないことがポイントで、扱い方がことなります。columnsは感覚的に理解できますが、indexも値ではないということをしっかり意識しましょう。
#考え方
まずはライブラリをインポートします。pandasにpdという名前をつけてimportします。
import pandas as pd
サンプルはタイタニックのデータで試してみます。タイタニックがわからない人は「kaggle タイタニック」で調べて下さい。
dataframe = pd.read_csv('train.csv')
CSVデータを読み込んだ場合は、indexにはゼロからの連番、columnsにはcsvのヘッダ部分の項目名が設定されます。
実際にコマンドで確認してみましょう。.index
.columns
で確認ができます。
dataframe.index
RangeIndex(start=0, stop=891, step=1)
dataframe.columns
Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',
'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'],
dtype='object')
indexにもcolumnsにもindex object
が設定されます。index
が最も一般的なobjectです。RangeIndex
は連番型のobjectです。他にもCategoricalIndex
DatetimeIndex
があります。
#indexの付け替え
あまりやることはないですが、indexの付け替えが可能です。Name(名前)をindexとします。データフレームの中身を置き換える場合は、inplace = True
とします。わからない人はこちらを参照。
dataframe.set_index(['Name'], inplace = True)
戻すことも可能です。↑を戻してみましょう。
dataframe.reset_index(inplace = True)
#ラベル名変更
ラベル名を変更します。こちらはわかりにくい名前のラベルを変更したり、Joinの準備のためなどに使います。
Sexを「性別」、Ageを「年齢」に変更します。
dataframe.rename(columns = {'Sex':'性別','Age':'年齢'},inplace = True)
他にも.transpose
を用いたindexとclumnsの入れ替えやindexの多層化などが可能です。
以上です。
#最後に
初心者にもわかるように、Pythonで機械学習を実施する際の必要な知識を簡便に記事としてまとめております。
目次はこちらになりますので、他の記事も参考にして頂けると幸いです。