この記事ではpythonのpandasを用いて、データフレームから列番号や列名(カラム名)を取得する方法について解説していきます。
ポイントとしては、
・列番号(カラム番号)の取得: .columnsやcolumns.values
・列名(カラム名)の取得:.columns.get_loc
を使うことです。
詳しく見ていきましょう!
Pandasにて列名を取得する方法【列番号から:.columns】
PythonのPandasにて列名を取得する方法(列番号より)を確認していきます。
具体的には、データフレームの`.columns` プロパティを使用するといいです。
columns[0]が最初の列(1列目)を意味していることに注意しましょう。
import pandas as pd
# サンプルデータフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
# 列名の取得
retsu_name = df.columns[0]
print(retsu_name)
2.実行画面(jupyter notebook)は以下の通りです。1列目の名前のAが出力できました(^^)/
Pandasにて複数の列名を取得する方法【.columns.values】
複数の列名を取得したい場合、リストのスライシングを利用します。
以下では最初から2行目までの列名を取得してみましょう。
なお、複数列名はリストとして取得する場合が多く、このケースでは.columns.valuesを使用しましょう。
# 複数の列名の取得
fuku_columns = df.columns.values[:2]
print(fuku_columns)
これで2列目までの複数の列名をリストとして取得できました。
a
Pandasにて列番号を取得する方法【列名から】
逆に、Pandasにて列名から列番号を取得するには、`.columns.get_loc`メソッドを使用します。
# 列名から列番号の取得
retsu_number = df.columns.get_loc('B')
print(retsu_number)
この列番号も0から始める(つまり1列目は0、2列目が1・・・となる)ことに気を付けましょう。
Pandasにて複数の列番号を取得する方法【列名からの変更】
複数の列名からその列番号を取得する場合、リスト内包表記を活用します。
# 複数の列名から列番号の取得
column_numbers = [df.columns.get_loc(col) for col in ['A', 'B']]
print(column_numbers)
まとめ pandasで列番号や列名を取得する方法【.columns.values:get_loc:変換】
ここでは、pandasで列番号や列名を取得する方法【.columns.values:get_loc:変換】について解説しました。
これらの方法を使って、データフレームの列に対して様々な操作を行うことができます。
特に大きなデータフレームを取り扱う際には、列名や列番号を効率よく取得・操作する技術は非常に役立ちますので、ぜひマスターしてください。
コメント