pandasの使い方 〜列名や行名を取得する〜

csvやtsvなどの行列データを扱うのに便利なライブラリであるpandasについて解説。データフレームの列名、行名の取得方法について。

動作環境の確認(必要なライブラリインポート)

pandasをimportする必要があります。以下を実行してエラーになった場合は、適宜インストールが必要です。anacondaをインストールするのが一番楽です。

import pandas as pd

注意事項

ここではjupyter notebookを用いて解説しています。jupyter notebookとはどんなものかはJupyter事始めなどを参照。以下では"df1"と、変数だけで出力している箇所がありますが、通常のpythonでは"print (df1)"といった形でprintをつけて実行する必要があります。


本例で用いるInputFile_01.csvの中身は以下の通り。

index_col,col1,co2,col3
1/1,a,aa,aaa
1/2,b,bb,bbb
1/3,c,cc,ccc
df = pd.read_csv('inputFIle_01.csv', index_col= 0)
df
col1 co2 col3
index_col
1/1 a aa aaa
1/2 b bb bbb
1/3 c cc ccc

1. 列名を取得する場合

列名を取得したい場合、<データフレームの変数名>.columnsです。インデックスオプジェクトとして取得できます。

print df.columns
Index([u'col1', u'co2', u'col3'], dtype='object')

インデックスオブジェクトではなくリストにしたい場合は、<データフレームの変数名>.columns.valuesです。

print df.columns.values
['col1' 'co2' 'col3']

2.行名を取得する場合

行名WO取得したい場合、<データフレームの変数名>.indexです。列名と同様、インデックスオブジェクトとして取得できます。

print df.index
Index([u'1/1', u'1/2', u'1/3'], dtype='object', name=u'index_col')

リストにしたい場合、列と同様にvaluesをつけます。

print df.index.values
['1/1' '1/2' '1/3']