リストでカラム名一覧を取得
df.columns.values
以下、サンプル
import pandas as pd
import numpy as np
# DataFrame作成
df = pd.DataFrame([[25,'pika',88,'Electric',np.NaN,np.NaN],
[131,'rara',80,'Water','Ice',np.NaN],
[143,'gon',82,'Normal',np.NaN,np.NaN],
[3,'fushi',84,'Grass','Poison',np.NaN],
[6,'kage',84,'Fire','Flying',np.NaN],
[9,'kame',84,'Water',np.NaN,np.NaN]],
columns=['no','name','level','type1','type2','helditem'])
# カラム名の一覧取得
print(df.columns.values)
"""
['no', 'name', 'level', 'type1', 'type2', 'helditem']
"""
.valueの代わりに.to_list()でもOK
# カラム名の一覧取得
print(df.columns.to_list())
"""
['no', 'name', 'level', 'type1', 'type2', 'helditem']
"""
列数を数値で指定して1列分の列名を取得する
n列目のカラム名を取得したいときは以下となる
df.columns[n-1]
先頭を指定するときは0なので、取得したい列数から-1した値を設定する
また、1列分の列名を取得するときだけは.valuesはいらない
なので2列目のカラム名(’name’)を取得するサンプルは以下の通り
# 2列名のカラム名取得
print(df.columns[1])
"""
name
"""
列数を数値で指定して複数列の列名を取得する
[]で範囲を指定してから.valuesでリストを取得する
# 2~4列目のカラム名取得
print(df.columns[1:4].values)
# .to_list()を使うときは
# print(df.columns.to_list()[1:4])
"""
['name', 'level', 'type1']
"""
.valuesが必要な理由(df.columnsが分かれば分かる)
.values無しで実行してみると以下の様になる
# カラム名の一覧取得
print(df.columns)
"""
Index(['no', 'name', 'level', 'type1', 'type2', 'helditem'], dtype='object')
"""
pandas.index型で取得されてしまう
おそらくこの型で取得しても利用することはほぼ皆無でしょう
.valuesで値(リスト)を指定してあげることにより、リストで取得が可能となる
コメント