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']