【Pandas】 DataFrame のインデックスを置き換える方法【Python】
今回は、Pandas の DataFrame型で、インデックス(index)を分かりやすいものに置き換える方法について紹介します。
index は、DataFrame 作成時に特に指定しないとデフォルトで整数 0 ~ 割り振られます。このインデックスを RangeIndex といいます。
例えば、映画データを read_csv で読み込むとインデックスは以下のようになります。
index は、
- DataFrame 作成後に変更する
- CSVファイル読み込み時に指定する
方法の2種類あります。
Contents
DataFrame 作成後に index を変更する方法
DataFrame型の set_index 関数を用いてインデックスを変更します。
1 2 3 |
movie = pd.read_csv('data/movie.csv') movie2 = movie.set_index('movie_title') movie2 |
index として使いたいカラム名を指定します。映画のタイトルが index になったことが確認できます。
なお、index として使用したカラムは削除されます。
CSV ファイル読み込み時に index を指定する方法
もう一つの方法は、read_csv で読み込む際に index_col でインデックスとして使うカラム名(CSVファイルの1行目の項目)を指定します。
1 2 |
movie = pd.read_csv('data/movie.csv', index_col='movie_title') movie.head() |
こちらも、index として使用したカラムは削除されます。
index をカラムに戻す方法
index をカラムに戻すには、reset_index 関数を使います。
index が整数値の RangeIndex に戻ります。ただし、注意しないといけないのは、戻したカラム(元はindexだったもの)は、先頭に戻るので、カラムの順番が変わってしまいます。
1 |
movie2.reset_index() |
参考書籍
関連記事
-
-
【Python】OpenCV を使って顔画像を検出してみた。
OpenCV のインストール Numpy のインストール [crayon-66a487b7d
-
-
【Python】漢字を分解するライブラリを使ってみた【部首分解】
Python で漢字を部首やさらに細かい部分に分解してくれるライブラリがあったので使ってみました。
-
-
【Pandas】 DataFrame のある列の最大値を含む行のインデックス値を取得する方法。
今回は、Pandas の DataFrame において、ある列で最大値を求めて、その最大値をもつ行に
-
-
【matplotlib】 Python でヒストグラムの横軸と棒(ビン)の数を調整する方法。
Python の matplotlib を使ってヒストグラムを描画し、横軸の目盛りと棒(ビン)がそろ
-
-
【Python】Beautiful Soup を使ってスクレイピングする方法。
Beautiful Soup は、シンプルでわかりやすい API でデータを抜き出せる Python
-
-
【Python】 DataFrame の特定の列で出現回数をカウントして降順でソートする方法。
Python で DataFrame 型の特定の列を指定して、対象列の文字列の出現回数をカウントして
-
-
【matplotlib】 Python で折れ線グラフを描く方法。
今回は、Python の matplotlib というライブラリを使って簡単に折れ線グラフを描く方法
-
-
python 2.7 を Windows 64bit OS にインストールした。
python 2.7 を Windows にインストールしたときのメモです。 Python に
-
-
【Python】pip3 で「cannot import name ‘main’」エラーが出たときの対処法。
Python でライブラリをインストールする際に、pipを使います。 Python2 と Py
-
-
【Atom エディタ】Python で Matplotlib のグラフを Atom 上に表示させる方法。
Atom エディタで Python の Matplotlib ライブラリを使って、Atom 上にグラ