LoginSignup
0
2

More than 3 years have passed since last update.

初心者のためのpandas基礎⑦index、columns操作

Posted at

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のヘッダ部分の項目名が設定されます。

image.png

実際にコマンドで確認してみましょう。.index .columnsで確認ができます。

dataframe.index
OUT
RangeIndex(start=0, stop=891, step=1)
dataframe.columns
Out
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)

image.png

戻すことも可能です。↑を戻してみましょう。

dataframe.reset_index(inplace = True)

image.png

ラベル名変更

ラベル名を変更します。こちらはわかりにくい名前のラベルを変更したり、Joinの準備のためなどに使います。
Sexを「性別」、Ageを「年齢」に変更します。

dataframe.rename(columns = {'Sex':'性別','Age':'年齢'},inplace = True)

image.png

他にも.transposeを用いたindexとclumnsの入れ替えやindexの多層化などが可能です。

以上です。

最後に

初心者にもわかるように、Pythonで機械学習を実施する際の必要な知識を簡便に記事としてまとめております。
目次はこちらになりますので、他の記事も参考にして頂けると幸いです。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2